所以我在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 %>
但这不起作用。有人可以指出我做错了什么吗?
答案 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"