在Ruby on Rails中使用关联

时间:2015-11-29 19:15:32

标签: ruby-on-rails activerecord associations

我正在学习RoR而我正在努力理解联想。我有两个模型 - 公司[名称]和注释[company_id,notes]。如图所示,Note模型有一个company_id字段,用于引用Company模型中的主键。

在Notes视图中,我正在尝试显示公司名称,但我似乎无法使其工作。

我想要显示

(SELECT name FROM Company WHERE Company.id=Note.company_id)

而不是下面代码中的note.company_id。

company.rb

class Company < ActiveRecord::Base
  has_many :notes
end

note.rb:

class Note < ActiveRecord::Base
  belongs_to :company
  default_scope -> { order(date: :desc) }
end

笔记/ index.html.erb

....
<% @notes.each do |note| %>
  <% if note.active %>
  <p>
    <%= note.date %>
    </br>
    <%= note.company_id %> - <%= note.contact %>
    </br>
    <%= note.notes %>
    <!-- <td><%= note.active %></td> -->
  </p>
  <% end %>
<% end %>
....

1 个答案:

答案 0 :(得分:1)

要回答您的具体问题,请尝试:

note.company.name

我还建议阅读Rails部分内容,特别是如何呈现集合:http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials