2012-03-14 6 views
0

は私のルートこの浅いルートのために私のフォームに何が間違っていますか?ここ

resources :games do 
    resources :message_templates, :shallow => true 

私のすくいルートがこの

    game_message_templates GET /games/:game_id/message_templates(.:format)    message_templates#index 
             POST /games/:game_id/message_templates(.:format)    message_templates#create 
       new_game_message_template GET /games/:game_id/message_templates/new(.:format)   message_templates#new 
        edit_message_template GET /message_templates/:id/edit(.:format)     message_templates#edit 
         message_template GET /message_templates/:id(.:format)       message_templates#show 
             PUT /message_templates/:id(.:format)       message_templates#update 
             DELETE /message_templates/:id(.:format)       message_templates#destroy 

と私の_form.erb、この

<% form_for(@message_template) do |f| %> 

のように見えますが、私はこのエラー

を得るようなものです
undefined method `message_templates_path' 
+0

'@のmessage_template'は何ですか?詳細情報が必要です。 –

+0

いつエラーが表示されますか?フォームの初期表示またはエラーが発生した場合やフォーム提出の場合 –

+0

'message_template'モデルと' controller'コードの両方を表示すると、より良い、速く、より正確で適切な答えを得ることができます。 –

答えて

2

ゲームに新しいメッセージテンプレートを作成しているようで、そのゲームに関連するルートを提供する必要があるようです。既存のメッセージテンプレートの場合、パスはmessage_templates_pathではなくmessage_template_pathになります。

セイ:

<% form_for([@game, @message_template]) do |f| %> 
+0

はい私は同意します。私は答えを編集し、明快にするために「与えられたゲームのために」追加します。 –

+0

浅いルートでも? –

+0

はい、浅いルートは、子が保存され、id(または他のパラメータ)が生成されるまで親を必要とします。投稿されたルートで例を探してください。 new_game_message_templateにはゲームが含まれていますが、edit_message_templateはありません。 – mark

関連する問題