产品.rb
class Product
attr_accessible :name
has_many :values
end
值.rb
class Value
attr_accessible :value
belongs_to :product
end
如何在值实例 ( v = Value.find(3)
) 中包含产品名称?输出值实例必须是这样的:[v.product_name = product.name, v.name]
产品.rb
class Product
attr_accessible :name
has_many :values
end
值.rb
class Value
attr_accessible :value
belongs_to :product
end
如何在值实例 ( v = Value.find(3)
) 中包含产品名称?输出值实例必须是这样的:[v.product_name = product.name, v.name]
像这样在您的价值模型上创建一个方法。
def product_name
"#{product.name}, #{name}"
end
v.product.name
会给你产品的名称。将其封装在价值方法中以获得更好的实践:
class Value
def product_name
product.name
end
end
如果您的问题是您想在一个数据库调用中完成所有这些操作,那么您正在查看以下内容:
Value.select("values.*, products.name as product_name").joins(:product).find(3)
老实说,我认为通过 id 搜索不值得。如果您要进行返回许多结果的查询,我会急切地加载相关产品并按照我上面的建议进行操作。