基于db字段的Rails从一个模型链接到另一个模型?
问题描述:
我有一个公司的模式和个人模式具有以下关系:基于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标记,但链接到当前页面内的公司名称。
感谢,
丹尼
答
您需要在第二个参数传递你想要去
<%= link_to @person.company.companyname, @person.company %>
或完整版本的路径:
<%= link_to @person.company.companyname, company_url(@person.company) %>
答
的事情是,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
太棒了,我知道我一定是错过了一些东西。谢谢! – dannymcc 2010-05-21 08:30:44