2

好的,所以我有这个控制器(courses_controller.rb),def 显示如下:

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

我想像这样链接到它:

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

顺便说一下,课程.rb 确实有一个 course_id。这是给我问题的最后一段(课程=> @lesson.course_id)。声明的后半部分有效,它是我无法正确理解的“课程”部分。我也试过@course。有任何想法吗?

4

3 回答 3

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 %>

这应该就是全部了。

于 2012-07-12T12:48:50.380 回答
3

简单的!

<%= link_to "Back", course_path(@lesson) %>
于 2012-07-12T12:12:16.420 回答
0

试试这个

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

而不是“课程”使用“id”,它会正常工作。

于 2012-07-13T02:32:56.773 回答