链接到Ruby On Rails中的show

Del*_*llo 2 ruby ruby-on-rails

好吧所以我有这个控制器(courses_controller.rb)与def show如下:

def show
  @course = Course.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)

我想像这样链接到它:

<%= link_to "Back", :controller => "courses", :action => "show", course => @lesson.course_id %>
Run Code Online (Sandbox Code Playgroud)

lesson.rb确实有一个course_id.这是给我问题的最后一段(course => @ lesson.course_id).声明的后半部分是有效的,它是我无法做到的"课程"部分.我也试过@course.有任何想法吗?

Kul*_*ini 6

您确定在模型中设置了课程 - 课程关系吗?在RAILS_APP/app/models/lesson.rb,你需要

Class Lesson < ActiveRecord::Base
  belongs_to :course
end
Run Code Online (Sandbox Code Playgroud)

RAILS_APP/app/models/course.rb,你应该有

Class Course < ActiveRecord::Base
  has_many :lessons
end
Run Code Online (Sandbox Code Playgroud)

那么,在你的观点中,你可以放,

<%= link_to "Back", @lessson.course %>
Run Code Online (Sandbox Code Playgroud)

这应该是全部.