28 votes

Form_tag fonctionne-t-il avec Simple_form?

J'ai un formulaire qui utilise form_tag et je ne sais pas comment l'utiliser avec la gemme simple_form . Voici à quoi ressemble mon formulaire:

 <%= form_tag create_multiple_prices_path, :method => :post do %>

  <% @prices.each_with_index do |price, index| %>
    <%= fields_for "prices[#{index}]", price do |up| %>
      <%= render "fields", :f => up %>
    <% end %>
  <% end %>

  <%= submit_tag "Done" %>
<% end %>
 

Peut-on le faire? Comment un form_tag changerait-il pour utiliser correctement simple_form? Qu'en est-il lorsque vous l'utilisez avec fields_for ? Un débutant pourrait utiliser de l'aide.

Je vous remercie.

108voto

barelyknown Points 2875

Vous pouvez utiliser simple_form même si vous ne créez pas de formulaire lié à un modèle.

Prenez ce formulaire de connexion comme exemple:

 <%= simple_form_for :signin, { url: signin_path } do |f| %>
  <%= f.input :email %>
  <%= f.input :password %>
  <%= f.button :submit, "Sign In" %>
<% end %>
 

Cela générera des paramètres tels que les suivants:

 {
  ...
  "signin" => {
    "email"=>"test@test.com",
    "password"=>"[FILTERED]"},
    "commit"=>"Sign In"
   }
 }
 

Dans votre contrôleur, vous pouvez référencer les champs du formulaire en utilisant:

 params[:signin][:email] ...
 

14voto

Ineu Points 886

simple_form est un wrapper autour de form_for , pas form_tag . Vous pouvez utiliser simple_form_for au lieu de form_for , mais form_tag crée simplement des balises <form> avec le contenu spécifié, cela ne concerne pas le formulaire simple.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X