我正在使用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
的未知属性错误。 我错过了什么?