2012-04-07 3 views
0

私はこのURLに移動しよう:http://localhost:3000/lessons/18/pages、私はこのエラーを取得していない:Noルートマッチ{:アクションは=> "ショー"、:コントローラ=> "ページ"}

No route matches {:action=>"show", :controller=>"pages", :lesson_id=>#<Page id: 5, 
title: "Page One", page_num: 1, lesson_id: 18, stats_id: nil, sources_id: nil, 
created_at: "2012-04-06 04:55:39", updated_at: "2012-04-06 04:55:39">} 

私は2つのテーブルを持っています:レッスン、ページ

has_many :pages 
lessons.rb

page.rb

belongs_to :lessons 

<% @lesson.pages.each do |page| %> 
<tr> 
    <td><%= page.title %></td> 
    <td><%= page.page_num %></td> 
    <td><%= page.lesson_id %></td> 
    <td><%= page.stats_id %></td> 
    <td><%= page.sources_id %></td> 
    <td><%= link_to 'Show', lesson_page_path(page) %></td> 
    <td><%= link_to 'Edit', edit_page_path(page) %></td> 
    <td><%= link_to 'Destroy', lesson_page, confirm: 'Are you sure?', method: :delete %></td> 
</tr> 
<% end %> 

そして、ここでは、ページのコントローラである:

def index 
@lesson = Lesson.find(params[:lesson_id]) 
    respond_to do |format| 
    format.html # index.html.erb 
    format.json { render json: @pages } 
    end 
end 

はなぜshowルートが機能していない

routes.rbを

resources :lessons do 
    resources :pages 
end 

は、ページのインデックスは次のようになりますか?あなたは、ルート内のすべてのオブジェクトを渡す必要があるネストされたリソースのルートで

+0

ルートファイルが表示されますか? –

+0

'rake routes'コマンドの出力は何ですか(これはRailsが持っているすべてのルートを表示します)。 – jefflunt

答えて

3

lesson_page_path(@lesson, page) 

誤差は多少Pageインスタンスから:lesson_idを取得しようとしていることを示していることをこれで明らかにされます。

関連する問題