Transaction
belongs_to Cart
和Cart
has_many Transactions
。我有一个Cart
视图,其中包含以下内容:@cart.transactions.each do |t|
。
我想将此循环中包含的Transactions
的数量限制为第一个。我还希望使用scope :first, limit(1).order('created_at ASC')
。
我的问题是:这个范围在哪里(即在交易模型或购物车模型中)以及如何正确实施?
我尝试将其放在Transactions
模型中并在Cart
控制器中使用它并且它不起作用:@ftransaction = Cart.transaction.first
但是这不起作用。
答案 0 :(得分:1)
如果您想要第一笔交易,可以这样称呼:
@ftransaction = @cart.transactions.first
注意复数交易。默认情况下,此顺序为id ASC
(除非您定义了默认范围),这应该是为了与created_at ASC
相同的参数。
如果您确定需要或需要订单以及限制,则范围将在transaction.rb
中定义。
答案 1 :(得分:1)
啊,我试过这个并且有效:
@ftransaction = @cart.transactions.first