2013-02-01 119 views
1

我是新來的Rails,我通過一個簡單的應用程序,它具有以下路線工作:Rails的路線糾正:ID

resources :mothers do 
    resources :kids 
end 

在孩子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) %> 

和它說: 「未定義的局部變量或方法。」我在控制器中丟失了什麼?

+0

未定義的局部變量或方法是什麼? –

回答

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

<%= link_to 'View', @kid.mother %> 
0

沒有必要有一個資源到另一個。

兒童模式

class Kid < ActiveRecord::Base 
    belongs_to :mother 
end 

母型

class Mother < ActiveRecord::Base 
    has_many :kids 
end 

你routes.rb-

resources :mothers 

resources :kids 

您的觀點鏈接:

<%= link_to 'View', {:controller => 'mother', :action => :show, :id => @kid.mother.id} %>