在Rails命名空间控制器中调用form_for时无法解决“ArgumentError:Missing block”

时间:2013-01-21 16:47:49

标签: ruby-on-rails ruby-on-rails-3.2 actionview

在应用的管理面板中,应该引入新表单。我想使用RoR Guide中描述的 2.3依赖于记录识别,但如果我说

form_for(@product)

form_for [:backend, @product]

它会抛出一个ArgumentError: Missing block。这适用于后端新功能,controller/backend/product_controller中的控制器通过

定义
 def new
   @product = Product.new
end

我做错了什么?为什么这不起作用?

1 个答案:

答案 0 :(得分:5)

您需要将do块传递给form_for: (参见文档:http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html

例如:

<%= form_for(@product) do |f| %>
  <%= f.label :name %>
  <%= f.text_field :name %>
  <%= f.submit %>
<% end %>