首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails 4强参数:允许所有属性?

Rails 4强参数:允许所有属性?
EN

Stack Overflow用户
提问于 2012-12-26 04:49:25
回答 3查看 58.5K关注 0票数 73

我正在构建一个带有Rails 4强参数的web应用程序。

在构建管理后台控制器时,我想知道允许所有模型属性的最佳方式是什么?

现在,我写了以下内容:

def user_params 
  params.require(:user).permit(User.fields.keys)
end

你有没有想出更好的方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-15 05:23:32

以防有人在Rails 6中需要它,甚至没有链接到您的控制器的模型,您可以使用:

before_action :accept_all_params

private

def accept_all_params
  params.permit!
end

完成了,现在你可以想玩多少就玩多少!

票数 11
EN

Stack Overflow用户

发布于 2019-03-08 05:51:15

Skull0inc的答案是有效的,但您可能想要删除created_atupdated_at。强参数的目的是仅列出您希望控制器可更新的属性。就像..。

def user_params
  params.require(:user).permit(User.column_names - ["created_at", "updated_at"])
end
票数 1
EN

Stack Overflow用户

发布于 2018-09-13 23:19:33

这样行得通吗?

def user_params 
  params.require(:user).permit(User.column_names)
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14033908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档