Ruby on Rails功能无法按预期工作

时间:2013-12-10 01:16:58

标签: ruby-on-rails ruby

所以我在RoR应用程序的控制器中写了这个。

class KalendarController < ApplicationController

  def show
    @week =
    if Date.today.cweek % 2 == 0
      puts "E"
    else
      puts "O"
    end
  end
end

@week变量应保留“E”或“N”,具体取决于Date.today.cweek % 2 == 0的结果,以便我可以在视图中显示字母“N”或“P”

看起来像这样:

<h1>Kalendar#show</h1>
<p>Find me in app/views/kalendar/show.html.erb</p>


<p><%= @week %>

但这不起作用。有人可以指出我做错了什么吗?

2 个答案:

答案 0 :(得分:2)

puts在命令行中输出字符串,但返回nil。因此,if语句的两个分支都返回nil@week设置为nil

请删除puts和您的好消息。

@week =
  if Date.today.cweek % 2 == 0
    "E"
  else
    "O"
  end

答案 1 :(得分:1)

您不需要模数 - 您可以使用even?方法。

@week = Date.today.cweek.even? ? "E" : "O"