2010-12-14 8 views
0

travail lorsque vous utilisez ce dans des rails cproblème recherche Twitter api

client = TwitterSearch::Client.new('campvote') 

tweets = client.query('#barcampmlk2 #railsforzombies +1') 

mais pas quand BarcampSession.update_twitter! il réaccorder vide hachage

require 'twitter_search' 
class BarcampSession < ActiveRecord::Base 
    validates :hash_tag , :format => {:with => /^#\w+/ } , :presence => true ,:uniqueness => true 
    validates :name , :presence => true 
    validates :email , :presence => true , :format => {:with => /((\S+)@(\S{3}[a-zA-z0-9)]\S*))/ } 
    validates :handphone, :presence => true 

    def self.update_twitter! 
     client = TwitterSearch::Client.new('campvote') 
     BarcampSession.all.each do |sess| 
      tweets = client.query('#barcampmlk2 #{sess.hash_tag} +1') 
      puts tweets.to_yaml 
     end 

    end 
end 

il retourne

rb(main):014:0> BarcampSession.update_twitter! 
--- !seq:TwitterSearch::Tweets [] 

=> [#<BarcampSession id: 1, hash_tag: "#railsforzombies", name: "wizztjh", email: "[email protected]", handphone: "1234006", since: nil, created_at: "2010-12-14 18:28:01", updated_at: "2010-12-14 18:28:01">] 

Répondre

2

interpolation de chaîne fonctionne uniquement avec des guillemets doubles, pas des guillemets simples. Modifiez la ligne

tweets = client.query('#barcampmlk2 #{sess.hash_tag} +1') 

à

tweets = client.query("#barcampmlk2 #{sess.hash_tag} +1")