直奔问题。我有一个这样的查询:
@issue_books = current_user.issue_books
@already_issues = @issue_books.taken(params[:id])
其中taken
named_scope定义如下:
scope :taken, lambda { |book_id| where(returned: false).where(book_id: book_id) }
现在每次我运行这个查询:
@issue_books.taken(params[:id])
我得到一个ArgumentError: wrong number of arguments (1 for 0)
错误。
如果我重命名taken
为其他类似的名称taken_books
,一切似乎都可以正常工作。
所以我的问题是:taken
红宝石中的关键字是什么?如果没有,任何人都可以解释这种行为吗?