我正在尝试使用以下方法在home #index页面中实现简单表单:
<%= render "forms/form"%>
表单看起来像这样:
<%= form_for(@form) do |f| %>
<% if @form.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@form.errors.count, "error") %> prohibited this form from being saved:</h2>
<ul>
<% @form.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :defect %><br />
<%= f.text_field :defect %>
</div>
<div class="field">
<%= f.label :region %><br />
<%= f.text_field :region %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
但是当我访问该页面时,我收到了以下错误消息:
undefined method `model_name' for NilClass:Class
首先我虽然是因为我的模型名称也是Form,但后来我检查了Rails 3保留字,但是没有“形式”!
提前致谢!
答案 0 :(得分:2)
您的@form
实例变量的值为nil
。你应该在控制器中设置它。
答案 1 :(得分:2)
在家庭控制器中,将索引操作中的实例变量@form
设置为: -
def index
@form = Form.new
end