范围块带关联的ArgumentError。

时间:2013-09-08 09:40:56

标签: ruby-on-rails

我在文件夹和电子邮件之间有一个连接表,我的连接表模型中也有一个user_id。实质上:

class Folder < ActiveRecord::Base
  has_many :folder_emails,
           :class_name => "FolderEmail"

  has_many :emails, ->(user) { where user_id: user.id }, :through => :folder_emails
end

所以,当我尝试Folder.find(1)时,我收到错误: ArgumentError: wrong number of arguments (3 for 1..2)

我是 - &gt;的新手范围块语法,我无法理解为什么我收到此错误。

1 个答案:

答案 0 :(得分:0)

它有点令人困惑,你无法将用户id传递给范围。范围只能在where中使用已定义的已知值集合。