我有一个模型(Project),在'new'操作中我有这个代码
<h1>Create new project</h1>
<% simple_form_for @project, :url => create_project_path do |project_form| %>
<%= project_form.error_messages %>
<ul>
<% project_form.input :name %>
<% project_form.input :subdomain %>
<% project_form.input :allow_email_report_client %>
<% project_form.input :allow_email_post_client %>
<% project_form.submit %>
</ul>
<% end%>
控制器代码很简单
我有load_and_authorize_resource
(使用CanCan),操作代码是
def new
@project = Project.new
end
现在,我确实得到了一个标记,但是这个表单中没有字段
对于帐户模型,我有完全相同的内容,并且显示所有字段都没有问题。
有没有人知道这是什么问题?
答案 0 :(得分:3)
啊!您错过了字段中的=
个符号:
<%= project_form.input :name %>
<%= project_form.input :subdomain %>
....
如果没有=
,<% %>
中的代码将会运行,但不会输出。
另外,很高兴知道:在Rails 2.x中,=
不需要form_for
(Rails 3,但需要=
)
答案 1 :(得分:1)
确保您的新动作如下所示:
def new
@project = Project.new
end