2015-04-27 127 views
1

我無法找到正確的語法來檢索相關信息。我有一個屬於模型「公司」的模型「companyaccount」。Rails檢索相關信息

class Company < ActiveRecord::base 
    has_many :companyaccounts 
end 

class Companyaccount < ActiveRecord::base 
    belongs_to :company 
end 

在視圖中,我可以輕鬆地檢索兩個「Companyaccount「號」和'通過關聯公司「companyaccount」表的company_id「的領域」身份證。

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

的看法是從這個基本控制器

def index 
    @companyaccount = Companyaccount.all 
end 

現在,我不希望有COMPANY_ID但公司的實際名稱(裝在「公司」表)調用。我管理,然後在視圖改變

<%= companyaccount.company_id %> 

通過

<%= company.name %> 

但當然,使用控制器做一個具體的公司這樣

def index 
    @companyaccount = Companyaccount.all 
    @company = Company.first 
end 

,這將檢索,對於每個公司帳戶,都是同一家第一家公司,而不是與公司的每個公司帳戶相關聯。任何人都可以爲我提供適當的語法來檢索我View中「每個」循環中每個companyaccount的關聯公司名稱?謝謝。

回答

0

您應該能夠達到你想要用這個循環什麼:

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

您可以爲此使用委託。

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

,然後你可以調用<%= companyaccount.company_name %>

0
def index 
    @companyaccount = Companyaccount.all 
end 

,並鑑於

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

爲更少的db打電話給你可以改變控制器像

@companyaccount = Companyaccount.includes(:company).all