AMS исключает ассоциацию для определенных действий контроллера
Мне интересно, возможно ли исключить ассоциацию с заданным действием контроллера. Что-то вроде:
class BookSerializer < ApplicationSerializer
has_many :comments, if: -> { params[:action] == "index" } do
object.comments.ordered_by_creation
end
end
class BooksController < ApplicationController
def index
@books = Book.all
render json: @books, status: :ok
end
end
Есть ли способ передать params[:action] в BookSerializer? Прямо сейчас я управляю этой ситуацией, расширяя BookSerializer и объявляя об ассоциации там
class BookCommentsSerializer < BookSerializer
has_many :comments do
object.comments.ordered_by_creation
end
end
class BooksController < ApplicationController
def index
@books = Book.all
render json: @books, status: :ok
end
def show
render json: @book, serializer: BookCommentsSerializer, status: :ok
end
end