ruby : ruby 2.0.0p195 (2013-05-14 リビジョン 40734) [x86_64-darwin12.3.0]
@user = User.find(1)
User Load (0.8ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 1]]
=> #<User id: 1, first_name: "d", last_name: "g", crypted_password: "$2a$10$h4Bil49Pw.bxf0jXvw4mEeYzKh2tgL9kUx/CtBeTg2HB...", salt: "3r3xXr3oqHGP5MpzdxAE", in_games: nil>
上記のようにユーザーをロードしています。postrges の in_games のデータ型は integer[] です。エラーが発生する理由がわかりません。(下に示された)
if @user.in_games.nil?
array = []
@user.in_games = array.push(@game.id)
else
@user.in_games << @game.id
end
@user.save
ActiveRecord::StatementInvalid: PGError: ERROR: array value must start with "{" or dimension information
LINE 1: UPDATE "users" SET "in_games" = '---
^
: UPDATE "users" SET "in_games" = '---