我正在使用simple_form gem。我有一个相当简单的场景。我有一个范围的路线,我正在尝试获得一个表格:
= simple_form_for(@scope, @post) do |f|
= f.input :comment
简化路线档案:
scope ':scope' do
resources :posts
end
然而我收到错误:
undefined method `input' for #<ActionView::Helpers::FormBuilder:0x7f1b1eef1cb8>
我正在使用rails 3.0.12和simple_form 1.4.2
有关我出错的任何建议吗?
答案 0 :(得分:3)
这是因为simple_form_for
(以及for_form
也因为simple_form_for
只是对它的方法委托)接收选项哈希作为第二个参数。因此,您的@post
被解释为选项,阻止SimpleForm更改表单构建器。
使用作用域资源的正确方法是使用如下数组:
= simple_form_for([@scope, @post]) do |f|
= f.input :comment
答案 1 :(得分:0)
解决这个问题的方法(虽然不是很理想,但是使用simple_fields。我会坚持这个,直到有更好的解决方案。
= form_for(@scope, @post) do |f|
=f.simple_fields_for :posts do |ff|
=ff.input :comment
答案 2 :(得分:0)
安装Gem后重启服务器吗?