この railscastに従っていて、チュートリアルを終了しました。すべてが正常に機能していました。次に、シリアル化されたハッシュの代わりに hstore を使用することにし、hstore をセットアップした後、エラーが発生しました。
PG::Error: ERROR: Syntax error near '!' at position 4 : INSERT INTO "products" ("product_type_id", "created_at", "properties", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"
私はグーグルで検索し、同様の SO questionを見つけましたが、Rails 4を使用しているため、おそらくそのgemを使用する必要はありません。
これが私のコードです:
私の form.html.haml の関連部分は次のようになります
= f.fields_for :properties, OpenStruct.new(@product.properties) do |builder|
- @product.product_type.products.each do |product|
= render "products/fields/#{product.field_type}", field: field, f: builder
私の製品モデルは次のようになります。
class Product < ActiveRecord::Base
belongs_to :product_type
serialize :properties
end
役立つ場合は、さらにコードを投稿できます。ありがとう!