2

この 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

役立つ場合は、さらにコードを投稿できます。ありがとう!

4

1 に答える 1