2011-12-31 12 views
0

RubyのTwitterの宝石で遊んでいます。例えば、Twitterのユーザーアカウントがロックされているかどうかを確認できます。私がテストしているユーザーのアカウントはロックされています。Rubyの文が私に予期せぬ答えを与える場合

は私が

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

を行う場合は、次にビューで

<%= @awish %> 

を行うには、しかし

"真" と言います。これをテストし、ロックされているかどうかに応じて変数に応答を割り当てる方法を書こうとすると、「ロックされていない」と言われます。だから私は何とかこの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

"true"は文字列ではありません。引用符を削除しても問題ありません。

2

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 
関連する問題