2012-07-12 166 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 %> 

,而不是 “过程中” 使用 “身份证”,它会正常工作。