Question

En utilisant la même forme partielle dans les deux créer et modifier dans mon cas nouveau et aperçu. regards partiels un peu comme celui-ci (j'utilise HAML)

=form_tag ({:action => params[:action]},  :multipart => true)
  =text_field :newsletter, :title
  =text_area :newsletter, :body
  =file_field :newsletter,:attachment
  -if params[:action] == "preview"
     =button_to "select contacts and send", :action => "contacts"
  =submit_tag "save and preview"

mais au-sortie html est

...
<input type="submit" value="select contacts and send"/>
<input type="hidden" value="rwYnZlEpWV4dR89zjgprEALBYmP0xqM3lnKt9JDLyak=" name="authenticity_token"/>
<input type="submit" value="save and preview" name="commit"/>
...

pourquoi le button_to ne génère pas le bouton pour former?

une solution consiste à maintenir le bouton en dehors de la partie, et seulement 1 par la forme, mais comment puis-je avoir 2 boutons dans la même forme?

modifier: Une autre solution serait une case à cocher caché qui est définie par javascript si le button_to est pressé et soumet le formulaire, en les séparant dans le contrôleur

Était-ce utile?

La solution

HTML ne permet pas en fait des formes à être imbriquées. Certains navigateurs font, mais vous verrez un comportement fou dans d'autres. Le HTML vous montrant la sortie brute ou le DOM calculée à partir Firebug?

La meilleure façon de traiter ce cas est de déplacer votre button_to en dehors de l'autre forme. Si vous êtes cool avec JS uniquement les options, vous pouvez utiliser link_to :method => :post et le style le lien pour ressembler à un bouton.

Autres conseils

En fin de compte utilisé le

:name => 'otheraction'

dans le contrôleur vérifie alors si l'un

params[:commit] or params[:otheraction]

était dans le hachage params

Je construis un petit bijou appelé button_link_to.

En utilisant la méthode de button_link_to génère balise button mais sans nichait balise form.

Il suffit de l'utiliser comme link_to.

Vous pouvez obtenir plus d'informations ici: https://github.com/tonilin/button_link_to

Si vous voulez voir une démo: http://button-link-to.herokuapp.com/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top