我是铁杆新手,我一直在尝试。我有表公司和联系人,我已经建立了协会和关系。我想做的是这个。
目前,在联系人表格中,它会返回公司名称值的数字。我想要的是公司名称的价值而不是数字。我已经尝试将它从company_id更改为company_name - 但我得到一个错误,没有找到任何方法。任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
您可以委派给公司
class Contact < ActiveRecord::Base
delegate :name, to: :company, prefix: true
end
<%= @contact.company_name %>
我认为联系人永远属于公司,如果不加,allow_nil: true
如果你像这样循环遍历它们:
<% @contacts.each do |contact| %>
<tr>
<td><%= @contact.company_name %></td>
</tr>
<% end %>
我怀疑你已定义@contact
,因为你正在循环@contacts
调用它们contact
<% @contacts.each do |contact| %>
<tr>
<td><%= contact.company_name %></td>
</tr>
<% end %>
即。没有@ - 你使用局部变量而不是实例变量。