我在文件夹和电子邮件之间有一个连接表,我的连接表模型中也有一个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;的新手范围块语法,我无法理解为什么我收到此错误。
答案 0 :(得分:0)
它有点令人困惑,你无法将用户id传递给范围。范围只能在where中使用已定义的已知值集合。