在`lambda':尝试创建没有块的Proc对象(ArgumentError)

时间:2013-03-21 22:57:59

标签: ruby-on-rails ruby squeel

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。我可能有点过头了。

2 个答案:

答案 0 :(得分:3)

我认为你不需要围绕lambda的()。你怎么样尝试从简单的拳头建立起来,例如尝试:

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

只是为了看它是否破坏/工作......然后逐件添加你实际需要的功能,直到出现故障(或一切正常)

答案 1 :(得分:0)

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

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

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