2010-05-21 174 views
0

我有一個公司的模式和個人模式具有以下關係:基於db字段的Rails從一個模型鏈接到另一個模型?

class Company < ActiveRecord::Base 
    has_many :kases 
    has_many :people 
    def to_s; companyname; end 
end 

class Person < ActiveRecord::Base 
    has_many :kases # foreign key in join table 
    belongs_to :company 
end 

在對人的創造作用,我有一個選擇框與公司的名單,其中COMPANY_ID分配給該人的記錄:

<%= f.select :company_id, Company.all.collect {|m| [m.companyname, m.id]} %> 

在演出鑑於我可以列出的公司名稱如下人員:

<%=h @person.company.companyname %> 

我是什麼試圖解決問題的方法是,如何將該公司記錄鏈接到該公司?

我曾嘗試:

<%= link_to @person.company.companyname %> 

但只是輸出href標記,但鏈接到當前頁面內的公司名稱。

感謝,

丹尼

回答

2

您需要在第二個參數傳遞你想要去

<%= link_to @person.company.companyname, @person.company %> 

或完整版本的路徑:

<%= link_to @person.company.companyname, company_url(@person.company) %> 
+0

太棒了,我知道我一定是錯過了一些東西。謝謝! – dannymcc 2010-05-21 08:30:44

1

的事情是,link_to無法猜測,你想讓它導致,如果你給它只是鏈接:)

的文本爲了有鏈接導致該公司網頁,你需要添加一個路徑:

<%= link_to @person.company.companyname, company_path(@person.company) %> 

這裏假設你有你的公司的正確路線寧靜

map.resources :companies 

並且您正在使用的頁面爲companies/show.html.erb

+0

感謝您詳細的迴應,我已經成功地得到這個工作。 – dannymcc 2010-05-21 08:31:06

相關問題