我正在我的Rails应用程序中创建一个日历,使用我在RailsCasts中获得的RailsCasts。我在做他们让我做的事,一步一步地做。然而,出于某种原因,我在日历上遇到了跳过几个月的问题。有人能帮我解决这个错误吗?
控制器:
class CalendarController < ApplicationController
def index
@statuses = Status.all
@date = params[:month] ? Date.parse(params[:month]) : Date.today
end
end视图:
<%= link_to "<", :month => (@date.beginning_of_month-1).strftime("%Y-%m") %>
<%=h @date.strftime("%B %Y") %>
<%= link_to ">", :month => (@date.end_of_month+1).strftime("%Y-%m") %>错误:
无效的日期应用程序/控制器/日历_控制员.in:4:in‘`index’
发布于 2011-06-18 11:42:35
我使用了一些您的代码(在IRB中),得到了以下内容:
irb(main):002:0> require 'date'
=> true
irb(main):003:0> Date.today
=> #<Date: 2011-06-18 (4911461/2,0,2299161)>
irb(main):004:0> Date.parse('2011-09')
ArgumentError: invalid date
from C:/apps/ruby/ruby192/lib/ruby/1.9.1/date.rb:1022:in `new_by_frags'
from C:/apps/ruby/ruby192/lib/ruby/1.9.1/date.rb:1066:in `parse'
from (irb):4
from C:/apps/ruby/ruby192/bin/irb:12:in `<main>'
irb(main):005:0> Date.parse('2011-Jan')
=> #<Date: 2011-01-01 (4911125/2,0,2299161)>
irb(main):006:0> Date.today.strftime("%Y-%m")
=> "2011-06"
irb(main):007:0> Date.parse('2011-01-26')
=> #<Date: 2011-01-26 (4911175/2,0,2299161)>因此,它找我的日期的解析方法不适用于您的格式。您应该在视图中使用另一种格式,这是由解析方法理解的。
例如,在视图代码中使用:
<%= link_to "<", :month => (@date.beginning_of_month-1).strftime("%Y-%m-%d") %>作为您的格式(以及
<%= link_to ">", ... %>https://stackoverflow.com/questions/6395606
复制相似问题