gpt4 book ai didi

ruby-on-rails - rails : strong_params and getter/setter methods

转载 作者:行者123 更新时间:2023-12-04 02:56:04 24 4
gpt4 key购买 nike

我在 Rails 4 中使用 strong_params。当我尝试使用这样的自定义 setter 方法时:

def foo=(foo)
@foo = foo
end

然后 Rails 在数据库中将该属性记录为 null。如果我删除自定义二传手,那么一切正常。在 Rails 3 中,自定义 setter 是这样写的,但也许情况已经改变了?如果是这样,自定义 setter 现在如何工作?

最佳答案

我不认为这段代码适用于 Rails 3。你确定吗?因为如果你这样做,你覆盖了 ActiveRecord 创建的 setter 方法(它负责将数据存储到 DB)。您的自定义版本的方法看起来与显示的完全一样吗?这有什么意义?

尝试调用 super

def foo=(foo)
@foo = foo
super
end

P.S.:我检查过它在 Rails 3 中工作(与 super 一起工作)。

关于ruby-on-rails - rails : strong_params and getter/setter methods,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16700824/

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