2013-08-27 206 views
0
def owns 
    @companies = Company.where(:id => own_clients.id).paginate(page: params[:page]) 
end 

def own_clients 
    @users = User.where(:boss_id => current_user.id) 
end 

這給了我在own_clients.id部分的語法錯誤。我怎樣才能達到own_cliens的ID? 編輯:公司是一個模型。公司has_many:用戶。用戶是一個模型。我想用userA登錄,然後添加一些其他用戶userB和userC(因此userA將是他們的老闆,根據:boss_id),然後查看哪些公司userB和userC屬於。我確實增加了一部分,只是尋找公司的一部分。軌道上的紅寶石NoMethod錯誤

+0

你怎麼稱呼擁有的功能? – user2503775

+0

「<%提供(:標題, '自己的公司')%>

自己的公司

<%= will_paginate%> \t <%=渲染@companies%> <%= will_paginate%>'這是owns.html.erb – kalahari

+0

它適用於我... – user2503775

回答

4

實際上,您的方法own_clients正在返回一個數組,並且您沒有對記錄數組使用「.id」。

解決方案將使用 own_clients.map(&:ID)代替own_clients.id

+0

謝謝@Ashish,Ace也給我同樣的解決方案 – kalahari

1

假設own_clients是一個模型,試試這個:

own_clients.map &:id 

應該給你own_clients內ID的數組。

+0

不,不是的own_clients就在上面。它就像一個變量。我正在尋找這個 'def擁有 @companies = Company.where(:id => User.where(:boss_id => current_user.id).id).paginate(page:params [:page]) 結束' – kalahari

+0

,這給了我這樣的錯誤:'語法錯誤,意想不到的tAMPER,期待tASSOC ...這裏(:id => {own_clients.map&:id})。paginate(page:params [...'指點&: – kalahari