gpt4 book ai didi

ruby-on-rails - Rails : . create 使 :id 的自定义值无效

转载 作者:太空宇宙 更新时间:2023-11-03 18:25:50 25 4
gpt4 key购买 nike

当我执行 Model.create 方法时,如果我为 :id 指定一个值,它稍后会被取消。示例:

Model.create (
:id => 50,
:name => Joe,
:enabled => yes
)

相反,我要做的是使用 .new 并将其存储在类变量中,通过类变量存储我的 id 值,然后最后调用保存:

m = Model.new (
:name => Joe,
:enabled => yes
)

m.id = 50
m.save

我正在尝试在 seeds.rb 中执行这段代码,这不是很枯燥的代码。我怎样才能做得更好并获得相同的结果?

最佳答案

id 只是 attr_protected。为防止这种情况,您可以覆盖默认 protected 属性的列表。在属性信息可能来自外部的任何地方执行此操作时都要小心。 id 字段默认 protected 是有原因的。

class Model < ActiveRecord::Base
private
def attributes_protected_by_default
[]
end
end

或使用@Leo 回答

关于ruby-on-rails - Rails : . create 使 :id 的自定义值无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246797/

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