Rails Admin и работа с полями «Рассчитанные итоги», «Итоги» и «Скидка» - PullRequest
0 голосов
/ 05 января 2019

Ладно, у меня есть таблица заказов, элементы-порядки и элементы. Все отлично работает, кроме 1 вещи.

    class CreateOrders < ActiveRecord::Migration[5.0]
      def change
        create_table :orders do |t|
          t.integer :seller_id
          t.integer :customer_id
          t.string :shipping_method
          t.string :shipping_terms
          t.string :payment_method
          t.date :delivery_date
          t.date :due_date
          t.decimal :total_discount, :precision =>8, :scale => 2
          t.decimal :subtotal, :precision =>8, :scale => 2
          t.decimal :sales_tax, :precision =>8, :scale => 2
          t.decimal :total, :precision =>8, :scale => 2

          t.timestamps
        end
      end
    end
    class CreateOrderItems < ActiveRecord::Migration[5.0]
      def change
        create_table :order_items do |t|
          t.integer :order_id
          t.integer :item_id
          t.integer :quantity
          t.decimal :discount, :precision =>8, :scale => 2
          t.decimal :line_total, :precision =>8, :scale => 2
          t.boolean :packed
          t.string :packed_by
          t.string :ffr

          t.timestamps
        end
      end
    end
    class CreateItems < ActiveRecord::Migration[5.0]
      def change
        create_table :items do |t|
          t.integer :sku
          t.string :name
          t.decimal :price, :precision =>8, :scale => 2
          t.string :description
          t.decimal :weight, :precision =>8, :scale => 2
          t.timestamps
        end
      end
    end

Как правило, необходимо выполнить расчеты либо при добавлении товаров в заказ, либо до того, как все будет сохранено.

В таблице «Заказы» должно произойти следующее

Рассчитать: total_discount (сумма в долларах), sub_total,: sales_tax,: total

В таблице OrderItems должно произойти следующее

Рассчитать: line_total, скидка (сумма в долларах)

Должен быть вменяемый способ сделать это, но мне еще предстоит выяснить это. Либо я действительно не знаю, что я ищу, либо я прибегаю к помощи всех неправильных вещей.

...