2

わかりましたので、このコントローラー (courses_controller.rb) と def を次のように表示します。

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

次のようにリンクしたい:

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

ところで、lesson.rb には course_id があります。私に問題を与えているのは最後のセグメント (course => @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 %>

「course」の代わりに「id」を使用すると、正常に機能します。

于 2012-07-13T02:32:56.773 に答える