2015-02-22 4 views
0

Я пытался выяснить, что происходит с моими 2-мя кодами, но они не связаны между собой.(Ruby) Получение сообщения об ошибке внутреннего сервера

Это мой .rb файл:

require 'sinatra' 
require 'twitter' 
require 'erb' 
include ERB::Util 

config = { 
    :consumer_key => '..' , 
    :consumer_secret => '..' , 
    :access_token => '..' , 
    :access_token_secret => '..' 
} 

client = Twitter::REST::Client.new(config) 

get '/following' do 
    buddy = client.friends('skg22') 
    @follow = buddy.take(20) 
    erb :following 
end 

following.erb файл:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Twitter Management Interface</title> 
</head> 
<body> 

<h1>Twitter Management Interface</h1> 
<h2>List of Friends</h2> 

<% unless @follow.nil? %> 
    <table border="1"> 
     <tr> 
     <th>ID</th> 
     <th>User</th> 
     </tr> 

     <% @follow.each do |friend| %> 
      <tr> 
      <td><%= friend.id %></td> 
      <td><%= friend.user.screen_name %></td> 
      </tr> 
     <% end %> 
     </table> 

    <% else %> 
     <p>No friends.</p> 
    <% end %> 
</body> 
</html> 

Я за рулем себя с ума в течение последних нескольких часов, пытаясь выяснить, что ошибка но все попытки модификации, которые я сделал, похоже, не избавляются от сообщения об ошибке.

+0

Он показывает вам трассировку стека? – August

+0

К сожалению, нет @August – skg22

+0

Можете ли вы разместить сообщение об ошибке, которое вы видите? – messanjah

ответ

0

The .RB файл

require 'sinatra' 
require 'twitter' 
require 'erb' 
include ERB::Util 

config = { 
    :consumer_key => '..' , 
    :consumer_secret => '..' , 
    :access_token => '..' , 
    :access_token_secret => '..' 
} 

client = Twitter::REST::Client.new(config) 

get '/following' do 
    buddy = client.friends('skg22') 
    @follow = buddy.take(20) 
    erb :following 
end 

.ERB файл

<!DOCTYPE html> 
<html> 
<head> 
    <title>Twitter Management Interface</title> 
</head> 
<body> 

<h1>Twitter Management Interface</h1> 
<h2>List of Friends</h2> 

<% unless @follow.nil? %> 
    <table border="1"> 
     <tr> 
     <th>ID</th> 
     <th>User</th> 
     </tr> 

     <% @follow.each do |friend| %> 
      <tr> 
      <td><%= friend.id %></td> 
      <td><%= friend.screen_name %></td> 
      </tr> 
     <% end %> 
     </table> 

    <% else %> 
     <p>No friends.</p> 
    <% end %> 
</body> 
</html> 
0

Поскольку сообщение об ошибке указывает, то Twitter::User объект не отвечает на метод user.

Попробуйте удалить эту строку в ваш взгляд:

<td><%= friend.user.screen_name %></td> 
+0

Работало, но я не понимаю, почему объект не отвечает на метод 'user'. Есть ли способ или объяснение этому? @messanjah – skg22

+0

Хранитель драгоценного камня Twitter не определил 'user' на объекте User. Документация находится здесь: http://www.rubydoc.info/gems/twitter/Twitter/REST/Users – messanjah

+0

Цените свою помощь. Нашел решение уже @messanjah – skg22

Смежные вопросы