1

データ型が配列型の場合、レールを使用して mongodb にデータを挿入できません

以下はコードです

def friend

Twitter.configure do |config|
config.consumer_key = 'GpCZ3ppx2tvOYB7mP4FONw'
config.consumer_secret = 'ectbzaP2oLPTSMGJaR5Fj6mmdgFyVsWeM9HoZ2iwaI'
config.oauth_token ='1378905500-TMtwUpl4bVpVDAcZQ29SVONITmFLL1aCzSLHDQQ'
config.oauth_token_secret = 'SIsfYHqSKfTEUD4dutaI7zYbfJQjxXmiNXiv4vWkfY'
end
@frend= Twitter.friends("shamshul2007")
@frend.each do |hell|
puts hell.name.inspect.to_s
end

#=====
fr=Array.new
@frend.each do |f|

fr.push(f)
end


#data insertion

@fri=Friend.new
@fri.username="shamshul2007"
@fri.friend=fr  
@fri.save
end

モデルはfriend.rb

class Friend
include Mongoid::Document
field :username, type: String
field :friend, type: Array
end

データをmongodbにプッシュしているときに次のエラーが発生しました

undefined method `__bson_dump__' for #<Twitter::User:0x007fbbec1a8538>
4

2 に答える 2

0

このコードは何をしているのですか??

  a) @frend.each do |f|
  b)   @fri.friend=f 
  c) end

@fri.friend should be provided an array type value.

In above code snippet

  1) if "f" is an array??  --- line b)
  2) if "f" is an array then it is being overwritten each time the loop rotates. --- line b)

So check these things and should help you..
于 2013-06-01T20:07:50.487 に答える