私はただ自分自身に尋ねています、私の問題に対する最善の解決策は何ですか.
ここに私のモデルがあります:
class Product < ActiveRecord::Base
has_many :prices, :class_name => "ProductPrice"
accepts_nested_attributes_for :prices
end
class ProductPrice < ActiveRecord::Base
belongs_to :product
end
コントローラー
def create
@product = Product.new(params[:product])
@product.save
...
end
私がしたいのは、すべての ProductPrices が保存されないようにすることproduct_price.value == nil
ですproduct_price.value == 0.0
before_save
ProductPrice にフックします。return false
トランザクション全体をロールバックしますが、それは私がやりたいことではありません。すべての価格を「キック」したいだけですvalue == 0 or value == nil
- 最初にすべてのprice_paramsをキックし、
params[...]
それよりも呼び出しProduct.new(params[:product])
がレールウェイエイターではないようです... Product.new(params[:product])
すべての価格を繰り返し処理し、配列から削除した後。しかし、ロジックは私のモデルにあるはずですよね? 新しい価格を作成するすべてのコントローラーで同じことを繰り返したくありません...
誰かがそのための最良の解決策を教えてもらえますか? レールウェイは?
ありがとう!