1

私はRailsを初めて使用し、次のルートを持つ単純なアプリを使用しています:

 resources :mothers do
    resources :kids
end

kids show.html.erb ページでは、子供の母親を表示しており、母親に戻るリンクがあります。

 Mother: <%= @kid.mother.full_name %>
      <%= link_to raw('View'), mother_path %>

ただし、これはパスの母/:idにリダイレクトするようです。ここで、:idは母の:idであり、実際には子供の:idです。

IDを介して子供の適切な母親にリンクするようにルートを修正するにはどうすればよいですか?

私はもう試した

<%= link_to raw('View'), mother_path(mother) %>

「未定義のローカル変数またはメソッド」と表示されます。コントローラーに何か不足していますか?

4

3 に答える 3

4
<%= link_to 'View', mother_path(@kid.mother) %>

また

<%= link_to 'View', @kid.mother %>
于 2013-02-01T09:09:28.427 に答える
0

あるリソースを別のリソースにする必要はありません。

キッドモデル

class Kid < ActiveRecord::Base
  belongs_to :mother
end

母モデル

class Mother < ActiveRecord::Base
  has_many :kids
end

あなたのルート.rb-

resources :mothers 

 resources :kids

あなたの見解 リンク:

<%= link_to 'View', {:controller => 'mother', :action => :show, :id => @kid.mother.id} %>
于 2013-02-01T09:55:35.767 に答える