twitterを使ってすべての言及を抽出するアプリケーションをビルドしているので、私は言及したすべてのユーザーを保存するプロファイルモデルを持っています。そのテーブルでは、twitter APIによって取得されたIDを格納するtwitter_idフィールドと、同じ名前を持つdescription、screen_nameなどの他のフィールドがあります。Twitter GemとRailsがユーザーを保存する
# a.tc is a Twitter object already authenticated
tws = a.tc.mentions({:count => 200})
# foreach mention
tws.each do |t|
# Check if we already have it saved
p = Profile.find_by_twitter_id t.user.id
if p.nil?
# Profile doesnt exist, try to save it
p = Profile.new(t.user.to_hash) # ERROR!
p.twitter_id = t.user.id
p.save
end
私はすでにエラーは、IDを削除したり、Profile
で使用可能な属性だけを割り当てるためにどちらかの必要なルビーのnoobイム= P
は、なぜあなたは '' Profile.new(t.user.to_hash)を使用しない、正確に何がエラーと何がやろうとしているのですか?事故によって属性を割り当てることができないので、これは良い方法でありますか –
t.userは、TwitterのgemのUserオブジェクトです.typusからのいくつかのキー(Twitter :: User)をフィールドとして持つProfileテーブルを作成しました。例えば、screen_name、description、locationですが、他のキーはありません私のモデルに存在するため、すべてのデータに興味がありません。エラー: "警告:保護された属性を一意に割り当てることはできません:id"エラーを理解していますが、プロファイルにユーザーを保存する方法や、各フィールドでハッシュを作成する必要があります名? –