我正在尝试将用户权限添加到设计时没有设置用户权限的现有应用。 ie)如果您已登录,则可以创建,更新和删除对象。
应用程序正在使用Rails 4,因此我可以利用强大的参数。
我需要添加一个只能编辑模型嵌套属性的新用户级别。所以我想在更新,创建父模型之前过滤出params变量。
如何在更新或创建模型之前过滤掉params
变量?
答案 0 :(得分:0)
您需要某种授权方法。有宝石可以帮助解决这个问题,但我建议至少阅读rails教程的这一章。
http://ruby.railstutorial.org/chapters/updating-showing-and-deleting-users#sec-authorization
你可能想要阅读整篇文章,这是一篇很棒的简介。
答案 1 :(得分:0)
我使用类似于以下代码的东西
# model controller pseudocode
def create
Model.create!(create_params)
end
def update
@model.update_attributes(update_params)
end
private
def create_params
params.require(:model).permit(:some_attr)
end
def update_params
params.require(:model).permit(:totally_different_attr)
end