我有一个公司模型和一个具有以下关系的人模型:
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标签内输出公司名称,但链接到当前页面。
谢谢,
丹尼
答案 0 :(得分:2)
您需要将第二个参数传递到您想要的路径
<%= link_to @person.company.companyname, @person.company %>
或完整版:
<%= link_to @person.company.companyname, company_url(@person.company) %>
答案 1 :(得分:1)
问题是,link_to
无法猜测您希望它导致的位置,如果您只给出链接的文本:)
要使链接指向公司页面,您需要添加路径:
<%= link_to @person.company.companyname, company_path(@person.company) %>
这假设您的公司有适当的休息路线
map.resources :companies
,您要前往的页面为companies/show.html.erb
。