2014-09-30 107 views
0

應該是一個超級簡單的問題,但它因爲某種原因而令我哭笑不得。我的代碼:查看不會返回結果後循環集合

class HomeController < ApplicationController 
    before_action :authenticate_user! 
    def index 
    @company = current_user.company 
    end 
end 

查看:

<div id='calendar'/> 
<%= render 'layouts/footer', object: @company %> 

部分:

<div id='footer'> 
    <% @company.employees do |employee| %> 
     <%= employee.email %> 
    <% end %> 
</div> 

我試圖丟棄object: @company,我用撬檢查變量的傳遞,在控制器,視圖和部分階段。在循環範圍之外,我能夠拿起這些變量,在內部我不能。

重複:將binding.pry放在我的僱員循環中不會觸發。

把它的循環觸發外,甚至可以讀取變量:

[1] pry(#<#<Class:0x000000063d2498>>)> @company.employees 
    Employee Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]] 
#<ActiveRecord::Associations::CollectionProxy [#<Employee id: 1, email: "ilia.reingold 

爲什麼我突然循環看不見?

回答

3

你實際上從來沒有告訴Rails/Ruby循環。

<div id='footer'> 
    <% @company.employees.each do |employee| %> 
     <%= employee.email %> 
    <% end %> 
</div> 

注意.each加入到表達

更多關於每個here(鏈接到一個數組類但它會成爲一個ActiveRecord關係相同)