gpt4 book ai didi

ruby-on-rails - Rails - attr_accessible 和批量分配

转载 作者:数据小太阳 更新时间:2023-10-29 07:45:52 25 4
gpt4 key购买 nike

我对在 Rails 中使用 attr_accessible 有疑问。

我有时想将 guard_protected_attributes 设置为 false 以绕过批量分配保护。我想知道为什么以下行不起作用(它会产生“无法字符串化键”错误):

@user.attributes=({ :name => "James Bond", :admin => true }, false)

...但是这样做:

@user.send(:attributes=, { :name => "James Bond", :admin => true }, false)

有人知道原因吗?

最佳答案

因为 Ruby 解析器将 '{ :name => "James Bond", :admin => true}, false' 解析为 单个参数#属性=。调用方法 'foo=' 限制你在 Ruby 中使用一个参数。 send 解决了这个问题。

实际发生的事情是 Rails 试图将 false 的键字符串化,作为 FalseClass 而不是 Hash,不会没有。

关于ruby-on-rails - Rails - attr_accessible 和批量分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/951820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com