【发布时间】:2013-06-21 18:35:04
【问题描述】:
我在 Rails 4 中工作,并且已经让 CanCan 在 this issue 的指示下正常工作,除了我认为可能相对常见的一个用例。
我有一个Comment 模型,has_many :comments, through: :replies 用于嵌套 cmets。所有这些都运行良好,直到我将 load_and_authorize_resource 添加到我的 cmets 控制器。问题似乎源于向我的创建操作发送可选: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 的未知属性错误。我错过了什么?
【问题讨论】:
标签: cancan ruby-on-rails-4 strong-parameters