Ruby on rails forms_for

时间:2014-02-12 09:13:44

标签: ruby-on-rails

大家好,我是Ruby新手。我尝试使用表单生成器创建表单 有什么区别

<%=form_for @post %>

<%=form_for :post %>

2 个答案:

答案 0 :(得分:2)

form_for创建了form builder object的实例:

  

FormBuilder对象与特定模型对象关联   允许您生成与模型对象关联的字段。该   使用form_for或fields_for

时会产生FormBuilder对象

@post是一个实例变量。 :post不是

这意味着当您加载<%= form_for @post %>时,您将使用实例中的数据填充表单构建器对象(允许Rails在出现错误时维护数据等)

如果您对Ruby中的@instance_variables不确定,可能需要查看Ruby On Rails beginners' guide

答案 1 :(得分:0)

如果你使用符号:发布像

<%=form_for :post %>

然后创建

<form action="/posts" method="post">

如果您使用@post实例

<%=form_for @post %>

然后创建

 <form action="/posts/create" class="class_name" id="id_name" method="post">