piggybak gemを使用しています。
私は製品を持っていますq
:
1.9.3p194 :009 > q
=> #<Product id: 20, name: "iPad", description: "<p>\r\n\tiPad 11" tablet that will change the way...", price: 499.0, vendor_id: 11, created_at: "2012-12-15 23:40:27", updated_at: "2013-01-01 00:18:39", image: "ipad.png", sku: "AB-09123">
q
他の属性を持つ属性piggybak_sellable
があります。
1.9.3p194 :010 > q.piggybak_sellable
=> nil
Product
これは、Rails 管理 UI で割り当てられた に使用できる属性の例です。
1.9.3p194 :011 > p.piggybak_sellable
=> #<Piggybak::Sellable id: 1, sku: "AR4590", description: "Blue Shirt", price: #<BigDecimal:7ffa1ba863b8,'0.2499E2',18(45)>, quantity: 100, item_id: 19, item_type: "Product", active: true, unlimited_inventory: false>
nil
それらの属性をレコードに追加したいと思います。
q.piggybak_sellable
手動で行う必要なく、これらすべての属性を更新したいと思います。つまりq.piggybak_sellable.sku = "ARJHR"
、設定など.
私はやってみましたが、うまくいきupdate_attributes
ませんでした:
1.9.3p194 :008 > q.piggybak_sellable.update_attributes(:sku => "YJ4567", :description => "Awesome tablet", :price => 399, :quantity => 100, :item_id => 20, :item_type => "Product", :active => true)
NoMethodError: undefined method `update_attributes' for nil:NilClass
どうすればこれを行うことができるかについて考えていますか?
これをモデルのコールバックに入れようとしていますProduct
-それが価値があるためです。
ありがとう。