[英]Merge ActionController::Parameters with rails 5
在rails 4中,我可以合并! StrongParams,但由于Rails 5(beta1)合并了! 不可用。 这是在控制器中执行此操作的最佳方法
params = ActionController::Parameters.new({
name: 'Francesco',
age: 22,
role: 'admin'
})
params.merge!(city: "Los Angeles")
据我从源代码中看到,您已经merge
而不是merge!
。 换句话说,似乎不可能就地修改哈希值。
以下代码将起作用:
params = ActionController::Parameters.new({
name: 'Francesco',
age: 22,
role: 'admin'
})
params = params.merge(city: "Los Angeles")
params.merge!(城市:“洛杉矶”)与Rails5.0.1一起使用
在Rails 5中:ActionController :: Parameters现在返回一个对象而不是哈希。
因此您必须使用params.permit(:city).to_h来访问城市。
有关更多详细信息,ActionController :: Parameters如何在Rails5中工作?
参考: http : //www.rortuts.com/ruby-on-rails/rails5-actioncontrollerparameters/
希望这对任何人都有帮助。
def comment_params
params.require(:comment).permit(:title, :user_id, :color)
end
我想将颜色属性与我的自定义颜色代码或名称合并。 以便动态合并颜色属性
像这样在Rails 5中初始化参数,
params = ActionController::Parameters.new(comment_params)
params = params.merge(color: "green")
new_params = params.to_h.merge(city: "Los Angeles")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.