我有两个型号。一个是品牌,另一个是product_detail。 brands表有id和name字段,product_details表有字段id,name,price,discount和brand_id。
品牌有很多product_details,product_detail属于品牌
brand.rb看起来像:
class Brand < ActiveRecord::Base
has_many :product_details
end
和product_details.rb看起来像
class ProductDetail < ActiveRecord::Base
belongs_to :Brand, :dependent=>:destroy
end
我试图使用太阳黑子轨道进行搜索。我想根据用户输入的文字搜索品牌名称和产品名称。为此,我编写了一个可搜索的方法:
class ProductDetail < ActiveRecord::Base
belongs_to :brands, :dependent=>:destroy
searchable do
text :name
text :brands do
brands.map(&:name)
end
end
end
当我运行rake sunspot:reindex
为nil类抛出一个错误的未定义方法映射
如果更改此代码
class ProductDetail < ActiveRecord::Base
belongs_to :Brand, :dependent=>:destroy
searchable do
text :name
text :Brand do
brands.map(&:name)
end
end
end
为product_detail类
抛出一个错误的未定义方法品牌请帮我解决这个问题。
答案 0 :(得分:3)
应该是
belongs_to :brand, :dependent=>:destroy
但是,如果您删除与之关联的product_detail,是否确定要删除该品牌?
在任何情况下,都可以将可搜索的块写为
searchable do
text :name
text :brand do
brand.name
end
end
我希望,这有帮助。