2013-08-27 190 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