应用程序逻辑和 Active Record 示例 Rails
Application logic and Active Record example Rails
我想问两件事:
1) Rails的应用逻辑中,一个Model调用另一个Model是否正确?
换句话说:
class A
def function1
...
end
end
class B
def function2
A.function1
end
end
这只是一个示例,两个模型之间没有任何关联。
第二个问题是:
2) 当我在 Rails 控制台中调用时: c = Supply.where(product_id: 7)
我有这个结果
我无法拨打电话:c.quantity
如果我使用 c = Supply.find(1)
我可以打电话给 c.quantity
有什么区别?
谢谢大家
把一个模型称为另一个模型是可以的into/from。这是常见的做法。至于第二个问题:
如果您按 ID 查询,请始终使用查找,因为它 returns 是单个对象而不是关系。
#this will work
c = Supply.find(7).quantity
如果使用 where,则需要从结果集中提取单个对象。示例:
# this will work but since you are using where you need to ask for a specific object.
c = Supply.where(product_id: 7).first.quantity
我想问两件事:
1) Rails的应用逻辑中,一个Model调用另一个Model是否正确? 换句话说:
class A
def function1
...
end
end
class B
def function2
A.function1
end
end
这只是一个示例,两个模型之间没有任何关联。
第二个问题是:
2) 当我在 Rails 控制台中调用时: c = Supply.where(product_id: 7) 我有这个结果
我无法拨打电话:c.quantity
如果我使用 c = Supply.find(1) 我可以打电话给 c.quantity
有什么区别?
谢谢大家
把一个模型称为另一个模型是可以的into/from。这是常见的做法。至于第二个问题:
如果您按 ID 查询,请始终使用查找,因为它 returns 是单个对象而不是关系。
#this will work
c = Supply.find(7).quantity
如果使用 where,则需要从结果集中提取单个对象。示例:
# this will work but since you are using where you need to ask for a specific object.
c = Supply.where(product_id: 7).first.quantity