使用ActiveRecord在Postgres中更新数组

时间:2015-02-18 00:18:57

标签: ruby-on-rails postgresql activerecord

我目前正在尝试使用Rails / ActiveRecord更新Postgres中的数组字段。以下只是我尝试过的许多代码迭代之一:

current_acct.acct_status_will_change! current_acct.acct_status << new_status current_acct.save!

我对我得到的错误感到有点困惑,其中包含ArgumentError: wrong number of arguments (3 for 1..2)。前两个跟踪引用ActiveUUID和Postgres连接适配器:

/Users/jonathanwarrick/.rvm/gems/ruby-2.1.2/gems/activeuuid-0.5.0/lib/activeuuid/patches.rb:95:in 'type_cast_with_visiting'

/Users/jonathanwarrick/.rvm/gems/ruby-2.1.2/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql/cast.rb:76:in 'block in array_to_string'

分别查看为两个错误找到的源代码(http://ruby-doc.org/gems/docs/a/activeuuid-0.5.0/ActiveUUID/Patches/PostgreSQLQuoting.html AND http://api.rubyonrails.org/v4.1.4/classes/ActiveRecord/ConnectionAdapters/PostgreSQLColumn/Cast.html#method-i-array_to_string),type_cast_with_visiting方法似乎最多需要两个参数,但是{{1方法用三个调用它。

有没有人知道如何解决我的两个宝石之间的这种差异?我已经尝试了在Postgres中更新数组我可以找到的每一个可能的变化,并且遇到了这个问题或者保存没有持续存在,所以我有点相信这两个部分之间的相互作用导致错误而不是我的方法

0 个答案:

没有答案