我有一个属于关系的模型。
class Product < ActiveRecord::Base
attr_accessible :name, :price, :request_id, :url
# Relationships
belongs_to :request
end
class Request < ActiveRecord::Base
attr_accessible :category, :keyword
# Relationships
has_many :products
end
这是我的控制器功能 product = Product.where({ :asin => asin }).first 中的代码
# See if the product exists
begin
#This throws a method not found error for where
product = Product.where({ :name => name }).first
rescue
Product.new
# This throws a method not found error for request_id
product.request_id = request.id
product.save
end
我正在尝试创建一个新的产品对象,例如 product = Product.first(:conditions => { :name => name })
当我打电话给我时,我收到一条错误消息,说undefined method 'first' for Product:Class
我尝试做 Product.new 并且我无法访问任何属性。我为每个人得到这个undefined method 'request_id=' for #<Product:0x007ffce89aa7f8>
我已经能够保存请求对象。我对产品做错了什么?
编辑:
事实证明,正在导入的旧产品数据类型不是 ActiveRecord 类。它使用它而不是我的 Product::ActiveRecord。我删除了该导入,一切顺利。很抱歉浪费了大家的时间。
不确定这里有什么正确的协议来处理这个问题。