Rails 检索关联信息
Rails retrieving associated information
我找不到正确的语法来检索相关信息。我有一个模型 'companyaccount' 属于模型 'company'.
class Company < ActiveRecord::base
has_many :companyaccounts
end
class Companyaccount < ActiveRecord::base
belongs_to :company
end
在视图中,我可以通过 [=32= 的 'company_id' 字段轻松检索关联公司的 'Companyaccount' 'number' 和 'id' ] table.
<%= @companyaccount.each do |companyaccount| %>
<%= companyaccount.company_id %>
<%= companyaccount.number %>
<% end %>
从这个基本控制器调用视图
def index
@companyaccount = Companyaccount.all
end
现在,我不想拥有company_id而是公司的实际名称(位于'company'table)。我设法使用这样的控制器为一家特定公司做到这一点
def index
@companyaccount = Companyaccount.all
@company = Company.first
end
然后在视图中更改
<%= companyaccount.company_id %>
来自
<%= company.name %>
但是,当然,这将为每个公司帐户检索相同的第一家公司,而不是与公司帐户关联的每个公司。任何人都可以为我提供适当的语法来检索我视图的 "each" 循环中每个公司帐户的关联公司名称吗?谢谢。
您可以为此使用委托。
class Companyaccount < ActiveRecord::base
belongs_to :company
delegate :name, to: :company, prefix: true
end
然后你可以调用<%= companyaccount.company_name %>
你应该能够通过这个循环实现你想要的:
<%= @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
我找不到正确的语法来检索相关信息。我有一个模型 'companyaccount' 属于模型 'company'.
class Company < ActiveRecord::base
has_many :companyaccounts
end
class Companyaccount < ActiveRecord::base
belongs_to :company
end
在视图中,我可以通过 [=32= 的 'company_id' 字段轻松检索关联公司的 'Companyaccount' 'number' 和 'id' ] table.
<%= @companyaccount.each do |companyaccount| %>
<%= companyaccount.company_id %>
<%= companyaccount.number %>
<% end %>
从这个基本控制器调用视图
def index
@companyaccount = Companyaccount.all
end
现在,我不想拥有company_id而是公司的实际名称(位于'company'table)。我设法使用这样的控制器为一家特定公司做到这一点
def index
@companyaccount = Companyaccount.all
@company = Company.first
end
然后在视图中更改
<%= companyaccount.company_id %>
来自
<%= company.name %>
但是,当然,这将为每个公司帐户检索相同的第一家公司,而不是与公司帐户关联的每个公司。任何人都可以为我提供适当的语法来检索我视图的 "each" 循环中每个公司帐户的关联公司名称吗?谢谢。
您可以为此使用委托。
class Companyaccount < ActiveRecord::base
belongs_to :company
delegate :name, to: :company, prefix: true
end
然后你可以调用<%= companyaccount.company_name %>
你应该能够通过这个循环实现你想要的:
<%= @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