2012-04-23 34 views
0

私はsimple_form gemを使用しています。私はかなり簡単なシナリオを持っています。私はスコープのルートを持っていると私は、フォームを取得しようとしている:私はエラーを取得するしかしsimple_form_forはf.inputを認識しません

scope ':scope' do 
    resources :posts 
end 

= simple_form_for(@scope, @post) do |f| 
    = f.input :comment 

簡素化されたroutesファイルを

undefined method `input' for #<ActionView::Helpers::FormBuilder:0x7f1b1eef1cb8> 

私が使用していますレール3.0.12とシンプルフォーム1.4.2

どこが間違っているのですか?一つの方法は、それこの周り

答えて

0

(理想的ではないが、よりよい解決策があるまで、私はこれに固執するだろう。ためsimple_fieldsを使用するのですが。

= form_for(@scope, @post) do |f| 
    =f.simple_fields_for :posts do |ff| 
    =ff.input :comment 
0

あなたが宝石をインストールした後、サーバーを再起動することがありますか?

+0

はい。私がいなかったら、エラーは入力ではなく、simple_form_forの周りになります – Yule

3

simple_form_forsimple_form_forはそのメソッド代理人にすぎないのでfor_formも)2番目の引数としてオプションハッシュを受け取るため、この問題が発生しています。@postがオプションとして解釈されているため、フォームビルダーを変更できません。

スコープのリソースで動作するように正しい方法は、このような配列使用している:

= simple_form_for([@scope, @post]) do |f| 
    = f.input :comment 
関連する問題