tlconnor / activerecord-postgres-array

Postgres array support for Active Record
ISC License
84 stars 52 forks source link

Incorrect extraneous quoting when trying to update/insert #37

Open avishai opened 11 years ago

avishai commented 11 years ago

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.
joevandyk commented 10 years ago

@tlconnor could this get merged?

pokonski commented 10 years ago

Because of this bug, the gem is worthless.

leovandriel commented 10 years ago

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: https://github.com/tlconnor/activerecord-postgres-array/pull/38

pokonski commented 10 years ago

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