Does form_tag work with Simple_form?

后端 未结 4 1317
别那么骄傲
别那么骄傲 2020-12-12 22:11

I have a form that is using form_tag and not sure how to use it with the simple_form gem. This is how my form looks:

<%= form_tag create_mult         


        
相关标签:
4条回答
  • 2020-12-12 22:45

    You can use simple_form even if you aren't creating a form that's tied to a model.

    Take this signin form as an example:

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

    That will generate params like the following:

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

    In your controller you can reference the form fields using:

    params[:signin][:email] ...
    
    0 讨论(0)
  • 2020-12-12 22:56

    like @barelyknown said You can use simple_form even without model You can also use field_for or simple_field_for

    <%= simple_form_for :transaction_limits, {url: create_multiple_prices_path, method: :post} do |f| %>
      <% @prices.each_with_index do |price, index| %>
        <%= f.fields_for "prices[#{index}]", price do |up| %>
          <%= render "fields", :f => up %>
        <% end %>
      <% end %>
    
      <%= f.submit "button" %>
    <% end %>
    
    0 讨论(0)
  • 2020-12-12 22:57

    You can avoid use of

    params[:signin][:email]
    

    using

    <%= f.input :email, input_html: { name: "email" } %>
    

    so

    params[:email]
    
    0 讨论(0)
  • 2020-12-12 22:59

    simple_form is a wrapper around form_for, not form_tag. You can use simple_form_for instead of form_for, but form_tag just creates <form> tags with specified content, it is not relevant to simple form.

    0 讨论(0)
提交回复
热议问题