Я работаю в Rails 4 и заставил CanCan работать хорошо с инструкциями из этой проблемы, за исключением одного варианта использования, который, как мне кажется, может быть относительно распространенным.
У меня есть модель Comment
, которая has_many :comments, through: :replies
для вложенных комментариев. Все это работает хорошо, пока я не добавлю load_and_authorize_resource
в свой контроллер комментариев. Проблема, похоже, связана со скрытым полем, отправляющим необязательный атрибут :parent_comment_id
моему действию создания.
Я разрешил этот атрибут с помощью сильных параметров:
def comment_params
params.require(:comment).permit(:content, :parent_comment_id, :post_id, :comment_id, :user_id)
end
Чтобы я мог создать ассоциацию, если включен :parent_comment_id
:
if comment_params[:parent_comment_id] != nil
Reply.create({:parent_comment_id => comment_params[:parent_comment_id], :comment_id => @comment.id})
end
Но как только я добавляю load_and_authorize_resource
, я получаю ошибку неизвестного атрибута для :parent_comment_id
. Что мне не хватает?