# What is difference between form\_for and form\_tag?

**URL:** <https://www.ruby-forum.com/t/what-is-difference-between-form-for-and-form-tag/114182>\
**Category:** Rails\
**Created:** [September 9, 2007, 10:02am UTC](https://www.ruby-forum.com/t/what-is-difference-between-form-for-and-form-tag/114182 "2007-09-09T10:02:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mmnmm7](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/4bbf92/32.png) [@mmnmm7](https://www.ruby-forum.com/u/mmnmm7)\
**Post date:** [September 9, 2007, 10:02am UTC](https://www.ruby-forum.com/t/what-is-difference-between-form-for-and-form-tag/114182/1 "2007-09-09T10:02:35Z")

</div>

Hello!

The many answers of this question are not appropriated for me.  
What is the BIG difference between form\_for and form\_tag?

In several web pages, i read like below…  
form\_for method is used for specificated wrapped model object,  
and form\_tag is just output the tag.  
It’s not clear to me…

Isn’t it equal that source using form\_for or form\_tag?

Please, any feedback to me.  
Thanks!

Rucy.

---

<div class="post-metadata">

**Author:** ![mmnmm7](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/4bbf92/32.png) [@mmnmm7](https://www.ruby-forum.com/u/mmnmm7)\
**Post date:** [September 9, 2007, 10:39am UTC](https://www.ruby-forum.com/t/what-is-difference-between-form-for-and-form-tag/114182/2 "2007-09-09T10:39:34Z")

</div>

You would use form\_for for a specific model when you want to create a  
new row, like this

\<% form\_for :person, @person, :url =\> { :action =\> “update” } do |f| %\>

then in here you can use the f object to create input field.

```
First name: <%= f.text_field :first_name %>
Last name : <%= f.text_field :last_name %>
Biography : <%= f.text_area :biography %>

```

\<% end %\>

Form\_tag create basically just \<form …\>, can be used to create  
multi form or whatever speciale thing you want to create.

\<% form\_tag ‘/posts’ do -%\>  
\<%= text\_field\_tag “post”, “first\_name” %\>  
\<% end -%\>
