#<mark:0x000055d9d09442d8> 缺少方法或方法未定义“upsert”
method missing or method undefined `upsert' for #<mark:0x000055d9d09442d8>
我正在从需要不时更新的 TXT 文件中播种数据库,并想尝试新的更新插入功能。
然而凌晨 4 点我几乎无法阅读屏幕并认为我在做一些明显或愚蠢的事情,以森林换树木的东西?
我重新阅读了文档并更新了 rails 版本,但是当我对对象调用 upsert 时出现错误
NoMethodError: undefined method `upsert' for #<Trademark:0x000055a4c3234bd8>
/home/ubuntu/.rvm/gems/ruby-2.7.0/gems/activemodel-6.1.2/lib/active_model/attribute_methods.rb:469:in `method_missing'
我已将 RAILS 更新到 6.1.2。 Ruby 为 2.7.0,数据库为 PG 1.2.3
列 :mark_number 在数据库中有唯一索引。
这是我的种子代码,我正在关注文档。
l object是我上传的txt文件,我逐行逐行拆分成一个数组。
t = mark.new
t.mark_hyperlink = l[1].split('"')[1].strip
t.mark_number=l[0].strip
puts t.mark_number
# Create bitstring of 45 classes
bitstring=""
(12..56).each do |i|
bitstring=bitstring + l[i]
end
puts bitstring
t.class_bitstring=bitstring
# also tried inserting like this, comes back with fail
#upsert(t, returning: nil, unique_by: :mark_number)
t.upsert
感谢任何指点
这是一个class方法,不是实例方法。应如下所示:
Trademark.upsert(attributes)
我正在从需要不时更新的 TXT 文件中播种数据库,并想尝试新的更新插入功能。
然而凌晨 4 点我几乎无法阅读屏幕并认为我在做一些明显或愚蠢的事情,以森林换树木的东西?
我重新阅读了文档并更新了 rails 版本,但是当我对对象调用 upsert 时出现错误
NoMethodError: undefined method `upsert' for #<Trademark:0x000055a4c3234bd8>
/home/ubuntu/.rvm/gems/ruby-2.7.0/gems/activemodel-6.1.2/lib/active_model/attribute_methods.rb:469:in `method_missing'
我已将 RAILS 更新到 6.1.2。 Ruby 为 2.7.0,数据库为 PG 1.2.3
列 :mark_number 在数据库中有唯一索引。
这是我的种子代码,我正在关注文档。
l object是我上传的txt文件,我逐行逐行拆分成一个数组。
t = mark.new
t.mark_hyperlink = l[1].split('"')[1].strip
t.mark_number=l[0].strip
puts t.mark_number
# Create bitstring of 45 classes
bitstring=""
(12..56).each do |i|
bitstring=bitstring + l[i]
end
puts bitstring
t.class_bitstring=bitstring
# also tried inserting like this, comes back with fail
#upsert(t, returning: nil, unique_by: :mark_number)
t.upsert
感谢任何指点
这是一个class方法,不是实例方法。应如下所示:
Trademark.upsert(attributes)