0

私は Java を 5 年以上使用しており、現在は Rails を使用しているため、比較的慣れていないため、素朴に聞こえる場合はご容赦ください。Spree を使用してオンライン ストアを作成しています。Original Price という新しい製品バリエーションを追加しようとしています。目的は、製品ページで取り消し線を引いた元の価格と一緒に製品の価格を表示することです。

そこで、新しい移行を作成し、spree_variants テーブルに新しい列を追加しました。

class AddOriginalPriceToProductsModel < ActiveRecord::Migration
 def change
  add_column :spree_variants, :original_price, :decimal, :precision => 8, :scale => 2
 end
end

管理フォームにも対応するフィールドを追加しました。バリアント デコレータ パーツを作成する際に、しばらく頭を悩ませていました。次のようにバリアントデコレータを追加しました。

Spree::Variant.class_eval do
  before_filter :load_data
  attr_accesssible :original_price
end

しかし、これは目的を解決しません。Spree::Productモデル/クラスの拡張からこれを行うことに近づきました。また、Spreeドキュメントから必要な詳細をほとんど理解できません。誰かがこれを行う正しい方向に私を向けることができますか、それともより良い代替方法があります.

環境,

  • レール: 3.2.13
  • スプリー: 2.0.3

spree_fancyテーマも使用

あなたの助けに感謝。ありがとう

4

1 に答える 1

-1

既存のクラスをオーバーライドします。spree 2-0-stable を使用している場合、相対パスは app/models/frontend になり、バックエンドも同じになります。

さらに支援が必要な場合は、これを参照してください

于 2013-08-17T06:19:56.843 に答える