我正在构建一个带有Rails 4强参数的web应用程序。
在构建管理后台控制器时,我想知道允许所有模型属性的最佳方式是什么?
现在,我写了以下内容:
def user_params
params.require(:user).permit(User.fields.keys)
end
你有没有想出更好的方法?
发布于 2020-01-15 05:23:32
以防有人在Rails 6中需要它,甚至没有链接到您的控制器的模型,您可以使用:
before_action :accept_all_params
private
def accept_all_params
params.permit!
end
完成了,现在你可以想玩多少就玩多少!
发布于 2019-03-08 05:51:15
Skull0inc的答案是有效的,但您可能想要删除created_at
和updated_at
。强参数的目的是仅列出您希望控制器可更新的属性。就像..。
def user_params
params.require(:user).permit(User.column_names - ["created_at", "updated_at"])
end
发布于 2018-09-13 23:19:33
这样行得通吗?
def user_params
params.require(:user).permit(User.column_names)
end
https://stackoverflow.com/questions/14033908
复制相似问题