链接到Ruby On Rails中的show

时间:2012-07-12 12:07:25

标签: ruby-on-rails ruby

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

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

我想像这样链接到它:

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

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

3 个答案:

答案 0 :(得分: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 %>

应该是全部。

答案 1 :(得分:3)

容易!

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

答案 2 :(得分:0)

试试这个

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

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