我正在Rails 5中开发一个简单的发票应用
对于这个问题,我有2个模型。
引用
select
top 1 CustomerID,
datepart(q, OrderDate) qtr,
Sum(TotalDue) sum_totaldue
From Sales.SalesOrderHeader
Group by
CustomerID,
DATEPART(q, OrderDate)
Order by sum_totaldue desc
和QuoteItem
class Quote < ApplicationRecord
belongs_to :client, optional: true
has_many :quote_items, dependent: :destroy
accepts_nested_attributes_for :quote_items
end
因为我在QuoteItem模型中有一个范围,所以我可以在item_order字段中显示我的erb中的数据。
但是现在我需要在JSON中使用相同的数据来构建动态表。我的QuoteItem模型中的Scope不适用于Jbuilder。
这是JSON格式:
class QuoteItem < ApplicationRecord
default_scope { order(:id, :item_order) }
belongs_to :quote
end
我的问题是如何使用“item_order”字段而不是“id”设置 json.quote_items 的排序顺序
答案 0 :(得分:2)
解决。
json.quote_items do
json.array!(@quote.quote_items.sort_by{|o| o[:item_order]}) do |item|
json.id item.id
.....
end