我想问两件事:
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
有什么区别?
全部谢谢
答案 0 :(得分:0)
将模型调用到另一个模型中/从另一个模型中调用是很好的。这是常见的做法。至于第二个问题:
如果您通过id查询,请始终使用find,因为它返回单个对象而不是关系。
#this will work
c = Supply.find(7).quantity
如果您使用的地方需要从结果集中提取单个对象。例如:
# 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