tlconnor/activerecord-postgres-array

Incorrect extraneous quoting when trying to update/insert

avishai opened this issue · 4 comments

I've been using this gem for over a year, and I just ran bundle update and for some reason now it keeps raising
unit_amenities must be an Array or have a valid array value (''{"balcony","dishwasher","hardwood floors","home office","tile floors"}'')

params[:unit_amenities] are submitted as follows:

"unit_amenities"=>["balcony",
 "dishwasher",
 "hardwood floors",
 "home office",
 "tile floors"],

In the Rails console, this is what I get:

1.9.3p429 :007 > a.unit_amenities
 => ["dishwasher", "balcony"] 
1.9.3p429 :008 > a.unit_amenities << "hardwood floors"
 => ["dishwasher", "balcony", "hardwood floors"] 
1.9.3p429 :009 > a.save
   (0.2ms)  BEGIN
   (0.9ms)  UPDATE "listings" SET "description" = 'Little Italy was once a lively home for the most of the Italian population in New York. state-of-the-art laundry facilities, [...]', "updated_at" = '2013-10-15 18:19:50.153309' WHERE "listings"."id" = 1032369
   (23.7ms)  COMMIT
 => true 
1.9.3p429 :010 > a.unit_amenities
 => ["dishwasher", "balcony"] # is appears that the updates are just completely dropped from the update, also.

@tlconnor could this get merged?

Because of this bug, the gem is worthless.

You can downgrade to version 0.0.9, that should fix the bug. You can can safely stay at this version, since this gem is not maintained anymore. Alternatively, try a fork: #38

@leonardvandriel thanks. Just did that and 0.0.9 works fine :)