Ruby on rails 检索相关信息的Rails

Ruby on rails 检索相关信息的Rails,ruby-on-rails,view,model-associations,Ruby On Rails,View,Model Associations,我找不到检索相关信息的正确语法。我有一个模型“companyaccount”,它属于一个模型“company” class Company < ActiveRecord::base has_many :companyaccounts end class Companyaccount < ActiveRecord::base belongs_to :company end 现在,我不想要公司id,而是想要公司的实际名称(位于“公司”表中)。我使用这样的控制器为一家特定的公司

我找不到检索相关信息的正确语法。我有一个模型“companyaccount”,它属于一个模型“company”

class Company < ActiveRecord::base
  has_many :companyaccounts
end

class Companyaccount < ActiveRecord::base
  belongs_to :company
end
现在,我不想要公司id,而是想要公司的实际名称(位于“公司”表中)。我使用这样的控制器为一家特定的公司做了这件事

def index
  @companyaccount = Companyaccount.all
  @company = Company.first
end
然后在视图中更改

<%= companyaccount.company_id %>



当然,对于每个companyaccount,这将检索相同的第一个公司,而不是与companyaccount关联的每个公司。有人能给我提供适当的语法来检索视图“each”循环中每个companyaccount的关联公司名称吗?谢谢。

您可以使用委托进行此操作

class Companyaccount < ActiveRecord::base
  belongs_to :company
  delegate :name, to: :company, prefix: true
end
class Companyaccount

然后你可以调用

你应该能够通过这个循环实现你想要的:

<%= @companyaccount.each do |companyaccount| %>
  <%= companyaccount.company.name %>
  <%= companyaccount.number %>
<% end %>

以及

<% @companyaccount.each do |companyaccount| %>
 <%= companyaccount.company.name %>
<% end %>
class Companyaccount < ActiveRecord::base
  belongs_to :company
  delegate :name, to: :company, prefix: true
end
<%= @companyaccount.each do |companyaccount| %>
  <%= companyaccount.company.name %>
  <%= companyaccount.number %>
<% end %>
def index
  @companyaccount = Companyaccount.all
end
<% @companyaccount.each do |companyaccount| %>
 <%= companyaccount.company.name %>
<% end %>
@companyaccount = Companyaccount.includes(:company).all