为什么这个嵌入式ruby代码评估为空?

时间:2011-04-17 05:57:20

标签: ruby-on-rails ruby ruby-on-rails-3 switch-statement

这段代码:

<%= case event.subject.value
        when 1
            puts " upvoted"
        when -1
            puts " downvoted"
        when 0
            puts " removed a vote from"     
    end %>

不会导致呈现任何字符串。我尝试添加一个else语句,以防event.subject.value具有不同于1,-1或0的值,但代码仍然评估为空。代码不会引发错误......

4 个答案:

答案 0 :(得分:3)

<%= case event.subject.value
    when 1
        " upvoted"
    when -1
        " downvoted"
    when 0
        " removed a vote from"     
end %>

删除puts语句

答案 1 :(得分:2)

将回报nil。它的副作用是输出到标准输出。

答案 2 :(得分:1)

将“放置”方法输出到您的控制台(服务器日志),您是否尝试删除放置?

答案 3 :(得分:0)

好的,我意识到问题所在。我不得不从switch语句中删除puts