Rails Rails for Bug

Ddl1st · 2017年07月10日 · 最后由 victor 回复于 2017年07月15日 · 2272 次阅读
  • Rails 5+
params = ActionController::Parameters.new

params[:settings] = [ { nil => "¶ (iüª7¶×»ö¾¼k{ï½{ï" } ]

params[:settings].first[:dig]
# => ?

没看懂你想表达什么。。我这里运行最后结果是 nil,没啥问题

一直提示没权限或未登录,刚才编辑成功, Rails 5+

这是一个 bug,应该会在下个版本(5.1.3)应用 patch

$ rails c #=> Loading development environment (Rails 5.1.2)
$ params = ActionController::Parameters.new #=> <ActionController::Parameters {} permitted: false>
$ params[:settings] = [ { nil => "¶ (iüª7¶×»ö¾¼k{ï½{ï" } ] #=> [{nil=>"¶ (iüª7¶×»ö¾¼k{ï½{ï"}]
$ params[:settings].first[:dig] #=> "¶ (iüª7¶×»ö¾¼k{ï½{ï"

你期待的 正确结果 是什么?

victor 回复

你期待的是啥😂

在没有显式指定 default 的情况下不知道这样直接返回 nil 对应的值是不是合理的。rails 团队觉得这是一个 bug

这的确不合理..

Ddl1st 回复

我期待修仙上天

需要 登录 后方可回复, 如果你还没有账号请 注册新账号