2017-08-28 5 views
0

私はルートがこのレール、フォームパス

resources :schools do 
    resources :groups do 
     resources :lessons, only: [:new, :create, :destroy] 
    end 
    end 

     school_group_lessons POST /schools/:school_id/groups/:group_id/lessons(.:format)  lessons#create 
    new_school_group_lesson GET /schools/:school_id/groups/:group_id/lessons/new(.:format) lessons#new 

形のように見えるsimple_form

を使用して1ページに多くのレッスンを作成しようとしていますが、現在、(次のようになり、多くのバリエーションを試してみましたが、私は常に取得します私はこのために取得エラー)

= simple_form_for school_group_lesson_path [school_id: 1, group_id: 1, Lesson.new]. remote: true, method: :post do |f| 

エラーが

です

true 1、Lesson.newに割り当てることができません。リモート:true、メソッド::投稿する | f |;^ /home/panda/workspace/Schooled/app/views/lessons/_form.html.s18:12: 構文エラー、予期しないキーワード_end、入力の終了を予期しています _concat(( ""。freeze));終わり; @ output_buffer.safe_concat(私の問題を解決する方法上の任意の手掛かりを与えるものではありません(^

... 誰もが私が間違って何をやっているを教えてもらえ:?!ありがとう

答えて

3

ありあなたはドットを持って、私はあなたのため

を指摘することができ、いくつかのミスです(。)[school_id: 1, group_id: 1, Lesson.new]コンマであるべきである(、)

これは間違っです。あなたはフォームパスが台無しにされLesson.new

に沿っインスタンスを引数としてschoolgroupを与える必要があります。それはまた、school_group_lesson_pathが最後にschool_group_lessons_path

あなたはcontroller#action

+1

、ありがとうございました!! –

0

に必要なschoolgroupインスタンスを定義を確認するべきであることに気づくのいずれか

= simple_form_for school_group_lessons_path(@school_instance,@group_instance,Lesson.new), remote: true, method: :post do |f| 

OR

= simple_form_for [@school_instance,@group_instance,Lesson.new], remote: true, method: :post do |f| 

する必要がありますあなたが持っている代わりに、この行のカンマの期間:

= simple_form_for school_group_lesson_path [school_id: 1, group_id: 1, Lesson.new]. remote: true, method: :post do |f| 

は試してみてください。

= simple_form_for school_group_lesson_path(school_id: 1, group_id: 1, Lesson.new), remote: true, method: :post do |f| 

注:simple_form_forの正しい使い方のようなものです:

勤務
simple_form_for @lesson do |f| 
    f.input .... 
end