2017-03-11 1 views
1

Zitat Ich versuche zu überprüfen, ob es ein bereits vorhandenes Update gibt.Rails5 ActiveRecord Fehler: TypeError: Array kann nicht

Das Feld ist receiving_account_id, und es sieht aus wie

["1", "3", "4"] 

und meine Frage ist

if Update.where("band_id = ? and fan_id = ? and receiving_account_id = ? and response = ?", "#{@remove_member.band_id}", "#{@remove_member.fan_id}", "#{[@remove_member.receiving_account_id]}", "none").any? 

i alle Variationen von „#{@remove_member.receiving_account_id versucht haben}, und ich bekomme . einige Version eines ungültigen Arrayliteral

edit: wenn ich gehen

[@remove_member.receiving_account_id] 

in der Abfrage bekomme ich den Typ Fehler. und wenn ich

tun
receiving_account_id && ARRAY[?] 

i bekommen

receiving_account_id && ARRAY['["1", "3", "4"]'] 

, die ich glaube zu verstehen, in der Anordnung enthält, als ob das Array, das Array enthält, so es nicht findet.

+0

Entfernen Zitat 'ARRAY [ '[ "1", "3", "4"]']' -> 'ARRAY [[ "1", "3" , "4"]] ' –

+0

nein, das wie Rails/Active record receiving_account_id && ARRAY interpretiert [?] – daveasdf

Antwort

0

Umfrage sagt ...

Update.where("receiving_account_id && ARRAY[?]", @remove_member.receiving_account_id).any? 
Verwandte Themen