form_for and form_tag, when to use which one?

后端 未结 2 1492
失恋的感觉
失恋的感觉 2020-12-28 19:07

I am reading a Rails book and so far it has been using form_for to create the forms. In the new chapter that it is building a login page for users, it is using

相关标签:
2条回答
  • 2020-12-28 19:37

    In most cases when you are sending data to your database with a model, in methods like create, update, destroy. For this type of action you can use form_for.

    Instead form_tag only create a simply form html, for example, a search:

     <%= form_tag("/search", :method => "get") do %>
       <%= label_tag(:q, "Search for:") %>
       <%= text_field_tag(:q) %>
       <%= submit_tag("Search") %>
    <% end %>
    
    0 讨论(0)
  • 2020-12-28 19:41

    form_tag simply creates a form. form_for creates a form for a model object. They are not interchangeable and you should use the one that is appropriate for a given case.

    form_for is a bit easier to use for creating forms for a model object because it figures out what url to use and what http method to use depending on whether the object is a new record or a saved record.

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