为什么我不能使用序列化属性保存对象?

时间:2013-03-27 23:54:29

标签: ruby-on-rails serialization pg-search

我有......

/app/models/search.rb

serialize :result  
def multisearch
  self.result = PgSearch.multisearch(self.term)
  self.status = "closed"
  self.save
  return result
end

/db/schema.rb

create_table "searches", :force => true do |t|
  t.string   "term"
  t.string   "status"
  t.text     "result"
end

当我尝试`self.save时,我收到以下错误?

ArgumentError: wrong number of arguments (2 for 1)
from /Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/arel-3.0.2/lib/arel/expressions.rb:3:in `count'

我在测试result.serialize时遇到类似的错误:

ArgumentError: wrong number of arguments (0 for 1)
from /Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/attribute_methods/serialization.rb:49:in `serialize'

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

答案是在序列化之前转换为数组:self.result = PgSearch.multisearch(self.term).to_a