2012-07-12 125 views
2

好了,所以我有這個控制器(courses_controller.rb)與高清顯示如下:鏈接在Ruby on Rails的顯示

def show 
    @course = Course.find(params[:id]) 
end 

我要鏈接到它像這樣:

<%= link_to "Back", :controller => "courses", :action => "show", course => @lesson.course_id %> 

lesson.rb確實有一個course_id。這是最後一段(課程=> @ lesson.course_id) 這是給我的問題。聲明的後半部分起作用,它是我無法正確理解的「課程」部分。我也試過@course。有任何想法嗎?

+0

你能顯示錶單代碼嗎? – 2012-07-12 12:12:02

回答

3

簡單!

<%= link_to "Back", course_path(@lesson) %> 
6

您確定您在模型中設置了課程 - 課程關係嗎?在RAILS_APP/app/models/lesson.rb,你需要

Class Lesson < ActiveRecord::Base 
    belongs_to :course 
end 

而且在RAILS_APP/app/models/course.rb,你應該有

Class Course < ActiveRecord::Base 
    has_many :lessons 
end 

然後,在你的意見,你可以說,

<%= link_to "Back", @lessson.course %> 

這應該是所有。

0

剛剛嘗試這一點

<%= link_to "Back", :controller => "courses", :action => "show", :id => @lesson.course_id %> 

,而不是 「過程中」 使用 「身份證」,它會正常工作。