質問にまっすぐ。次のようなクエリがあります。
@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
ルビーのキーワードですか? そうでない場合、誰かがこの動作を説明できますか?