ruby on rails-我把相关模型/控制器的作用域放在哪里



Transaction属于Cart,而Cart具有多个Transactions。我有一个Cart视图,其中包含以下内容:@cart.transactions.each do |t|

我想将此循环中包含的Transactions的数量限制为第一个。我也想用scope :first, limit(1).order('created_at ASC')来做这件事。

我的问题是:这个范围去了哪里(即在交易模型或购物车模型中)?它是如何正确实现的?

我试着把它放在Transactions模型中,并在Cart控制器中使用它,但它不起作用:@ftransaction = Cart.transaction.first,但它没有起作用。

如果你想要第一笔交易,你可以这样称呼它:

@ftransaction = @cart.transactions.first

注意多笔交易。默认情况下,它的顺序是id ASC(除非您定义了默认作用域),出于参数考虑,它应该与created_at ASC相同。

如果您决定想要或需要订单以及限制,则范围将在transaction.rb中定义。

啊,我试过了,它成功了:

@ftransaction = @cart.transactions.first

相关内容

  • 没有找到相关文章

最新更新