【发布时间】:2018-08-21 17:38:03
【问题描述】:
我已经束手无策了。我升级到 Rails 4.2.10,一切都很糟糕。
这里是/models/product.rb的相关部分
class Product < ActiveRecord::Base
delegate_attributes :price, :is_master, :to => :master
这里是/models/variant.rb:
class Variant < ActiveRecord::Base
belongs_to :product
变量表具有“价格”和“is_master”字段。 Products 表没有。
过去的情况是,可以访问 Product.price 并获取/设置主变体的价格(实际上每个产品只有一个变体,目前的设置方式)。
现在它抱怨:
NoMethodError: undefined method `price=' for #<Product:0x0000000d63b980>
这是真的。没有称为 price= 的方法。但是为什么以前不是这个问题,如果我创建它,我到底应该在那个方法中添加什么?
这是在 db/seeds.rb 中生成产品的代码:
product = Product.create!({
name: "Product_#{i}",
description: Faker::Lorem.sentence,
store_id: u.store.id,
master_attributes: {
listing_folder_id: uuids[i],
version_folder_id: uuids[i]
}
})
product.price = 10
product.save!
end
【问题讨论】:
标签: ruby-on-rails-4 activerecord