直截了当的问题.我有这样的查询:
@issue_books = current_user.issue_books
@already_issues = @issue_books.taken(params[:id])
Run Code Online (Sandbox Code Playgroud)
takennamed_scope 在哪里定义如下:
scope :taken, lambda { |book_id| where(returned: false).where(book_id: book_id) }
Run Code Online (Sandbox Code Playgroud)
现在每次我运行此查询:
@issue_books.taken(params[:id])
Run Code Online (Sandbox Code Playgroud)
我收到一个ArgumentError: wrong number of arguments (1 for 0)错误.
如果我重命名taken为其他东西taken_books,似乎一切正常.
所以我的问题是:takenruby中的关键字是什么?如果没有人可以解释这种行为?