0

Railsアプリには、ユーザー、学校、コースのモデルがあります。ユーザーと学校がホスト可能な多くのコースを持ち、コースがhostable_toに属するように、ポリモーフィックな関連付けを設定しました。私のルートは次のようになります。

  resources :users do
    resources :courses
  end

 resources :schools do
   resources :courses 
 end

私の学校のコントローラーのショーは次のようになります。

def show
  @school = School.find(params[:id])
  @user = current_user.schools.find_by_user_id(params[:user_id])
  @title = @school.school_name
  @hostable = @school
  @courses = @hostable.courses
  @course = Course.new
end

学校とユーザーのショーページに表示される部分的なコースは次のようになります。

<div id="courses">
 <% @courses.each do |course| %>
  <div class="course">
<%= simple_format course.title %>
    <%= simple_format course.description %>
  </div>
 <% end %>
</div>

現在、コースのタイトルと説明を一覧表示するように構成された学校ビューのみがあります。私がやりたいのは、学校のショーページに学校のすべてのコースをリストすることです。コースタイトルのテキストだけを表示するのではなく、コースタイトルをコースのページにリダイレクトするリンクにします。助言がありますか?

ありがとう。

4

2 に答える 2

0
<%= link_to course.title, school_course_path(@hostable, course) %>
于 2012-07-02T18:22:53.483 に答える
0

config/routes.rbこの方法でネストされたリソースにリンクできるようにするには、ルートを定義しておく必要があります。まだルートを持っていない場合は、これでルートがわかります。

resources :schools do
  resources :courses
end

実行rake routesして、すべてのルートのリストを取得できます。私の例では、school_coursesリストを取得します。link_to course.title, school_courses_path(@hostable, course)その後、 WawaLooが指摘したように作成できます。

于 2012-07-02T18:48:48.930 に答える