2.0.0p247 :026 > Date.today.wday
=> 5
2.0.0p247 :027 > Date.today.cwday
=> 5
2.0.0p247 :028 >
当我在本地服务器上运行应用程序时,这在应用程序的控制台中完美运行:
undefined method `wday=' for Fri, 10 Jan 2014:Date
这是应用中的代码段(我也尝试过.cwday方法,结果相同):
<% if Time.now > Time.parse("10:30:00") && Time.now > Time.parse("00:00:00") && (Date.today.wday = 1 || Date.today.wday = 3 || Date.today.wday = 4) %>
为什么它在控制台(和irb)中完美运行,但在我运行应用程序时却没有?可能很简单,但我真的无法理解。
答案 0 :(得分:0)
它说wday
没有一个二传手 - 即它是只读的。这就是为什么它显示wday=
未定义而不是wday
。
出于某种原因,我认为它将你的Date.today.wday = 1
视为一项任务,而不是平等检查。
答案 1 :(得分:0)
原因在于,在一对语言中,比较运算符为==