2010-05-21 121 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

相关问题