Если заявление в Ruby дает мне неожиданный ответ - PullRequest
0 голосов
/ 31 декабря 2011

Я играю с драгоценным камнем Ruby Twitter, который, например, позволяет проверить, заблокирована ли учетная запись пользователя Twitter.Аккаунт пользователя, который я тестирую, заблокирован.

Если я сделаю

@awish = Twitter.user("twitteruser").protected?

и затем в представлении сделаю

 <%= @awish %> 

, то это скажет "true"

Однако.когда я пытаюсь написать метод для проверки этого и назначить ответ переменной в зависимости от того, заблокирована она или нет, она говорит мне, что она «не заблокирована», когда я ожидаю, что она скажет, что она «заблокирована».Так что я думаю, что я как-то облажался с оператором if / else (заметьте, я немного нуб)

Можете ли вы объяснить, что я сделал неправильно?

def awisprotect
       @awish = Twitter.user("twitteruser").protected?
       if @awish == "true" 
        @answer = "locked" 
        else 
        @answer = "not locked"
        end

       render :js => "$('div.awishanswer').html(' #{ @answer } ');"
   end

Ответы [ 2 ]

2 голосов
/ 31 декабря 2011

метод protected? должен возвращать true или false.

(а не "true" или "false")

Так что ваш метод может быть намного проще. (вам также не нужна переменная экземпляра)

def awisprotect
  if Twitter.user("twitteruser").protected?
    answer = "locked" 
  else 
    answer = "not locked"
  end
  render :js => "$('div.awishanswer').html(' #{ answer } ');"
end
2 голосов
/ 31 декабря 2011

"true" не строка, удалите кавычки, и все должно быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...