[英]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.