4
scope :for_user, (lambda {|user_id| a = Follow.follows(user_id); Question.where{user_id.in(a.select{followed_id})}})

给我:

`lambda': tried to create Proc object without a block (ArgumentError)

我已经阅读了几个问题,但无法解决问题。我对 Ruby 比较陌生,并且刚刚开始使用 Rails。我可能有点过头了。

4

2 回答 2

3

不过,我认为您不需要围绕 lambda 的 () 。您如何尝试从简单的拳头开始,例如尝试:

scope :for_user, lambda {|user_id| Question.where(:user_id => user_id) }

只是看看它是否损坏/工作......然后逐个添加您实际需要的功能,直到某些东西损坏(或一切正常)

于 2013-03-21T23:15:17.693 回答
0

我遇到了同样的错误,对我有用的是 Taryn East 的建议:不()。

scope :event, lambda {|name| active.where(:key => name)}

这就是我让我的工作的方式。

于 2013-07-16T04:49:22.023 回答