Je développe une application de facturation simple dans Rails 5Comment puis-je définir une commande dans Jbu Jbuilder d'un rail
Pour cette question, j'ai 2 modèles.
Citation
class Quote < ApplicationRecord
belongs_to :client, optional: true
has_many :quote_items, dependent: :destroy
accepts_nested_attributes_for :quote_items
end
Et QuoteItem
class QuoteItem < ApplicationRecord
default_scope { order(:id, :item_order) }
belongs_to :quote
end
Parce que j'ai une portée dans le modèle QuoteItem je peux afficher les données dans mon erb base dans le domaine de item_order.
Mais maintenant j'ai besoin d'utiliser les mêmes données dans JSON pour construire une table dynamique. Et le Scope dans mon modèle QuoteItem ne fonctionne pas avec Jbuilder.
Ceci est le format JSON:
#myapp/app/views/quotes/show.json.jbuilder
json.quote do
json.partial! "quotes/quote", quote: @quote
json.quote_items do
json.array!(@quote.quote_items) do |item|
json.id item.id
json.clave item.product.clave
json.name item.name
json.quantity item.quantity
json.item_order item.item_order
json.days item.days
json.unit_price item.unit_price
json.seguro item.seguro
json.descuento item.descuento
json.total item.total
end
end
end
Ma question est Comment puis-je régler l'ordre de tri json.quote_items avec le "item_order" champ au lieu de son "id".