Пытаюсь перенести create action в фон с помощью delayed job но не могу понять как нужно действовать со strong params. Сначала я попробовал все делать в контроллере:
def create
MyController.delay.create_and_email(current_app_user)
respond_to do |format|
format.js {}
end
end
def create_and_email(user)
@user = AppUser.find_by(id: user.id)
@link_share = @user.link_shares.build(link_share_params)
@link_share.save
end
Задача фэйлится потому что не понимает, что есть link_share_params
Тогда попробовал подключить модель:
Контроллер:
def create
@user = current_app_user
@user.delay.create_and_email(link_share_params)
respond_to do |format|
format.js {}
end
end
Model:
def create_and_email(params)
link_share = self.link_shares.build(params)
link_share.save
end
Тоже провал: Job AppUser#create_and_email (id=15) FAILED (0 prior attempts) with ActiveModel::ForbiddenAttributesError: ActiveModel::ForbiddenAttributesError
Буду благодарен любому решению, перелопатил уже весь интернет.