Rails 3路由:如何显示嵌套页面?

时间:2012-03-09 02:29:21

标签: ruby-on-rails ruby ruby-on-rails-3

我想在点击显示链接

时显示课程的第一页

这就是我所拥有的:

课程索引:

<%= link_to 'Show', lesson_page_path(lesson)%><br />

页面控制器

def show
  @lesson = Lesson.find(params[:id])
  @first_page = @lesson.pages.first

  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @page }
  end
end

路线

resources :lessons do
  resources :pages
end

我收到此错误

没有路线匹配{:action =&gt;“show”,:controller =&gt;“pages”,:lesson_id =&gt;#Lesson id:1,title:...

点击展示链接后如何访问此网址:

/经验//页/ 1

1 个答案:

答案 0 :(得分:3)

如果你这样嵌套,你需要链接到一个页面和一个课程:

lesson_page_path(lesson, page)

如果您只想要第一个,请定义另一条路线:

get '/lesson/:lesson_id/page_one', :to => "pages#show"