Rails打印数据库列的值

时间:2014-11-20 12:40:59

标签: ruby-on-rails database

我是铁杆新手,我一直在尝试。我有表公司和联系人,我已经建立了协会和关系。我想做的是这个。

目前,在联系人表格中,它会返回公司名称值的数字。我想要的是公司名称的价值而不是数字。我已经尝试将它从company_id更改为company_name - 但我得到一个错误,没有找到任何方法。任何人都可以帮我解决这个问题。

1 个答案:

答案 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 %>

即。没有@ - 你使用局部变量而不是实例变量。