4
我正在基于此创建日历视图Railscast tutorial。在本教程中,:published_on字段是日期字段。我的问题是,如果:published_on是日期时间字段而不是日期字段,我将如何调整下面的代码以使其工作?Ruby on Rails - 将日期时间哈希转换为日期
迁移
t.date :published_on
控制器:
def index
@articles = Article.all
@articles_by_date = @articles.group_by(&:published_on)
@date = params[:date] ? Date.parse(params[:date]) : Date.today
end
查看:
<div id="articles">
<h2 id="month">
<%= link_to "<", date: @date.prev_month %>
<%= @date.strftime("%B %Y") %>
<%= link_to ">", date: @date.next_month %>
</h2>
<%= calendar @date do |date| %>
<%= date.day %>
<% if @articles_by_date[date] %>
<ul>
<% @articles_by_date[date].each do |article| %>
<li><%= link_to article.name, article %></li>
<% end %>
</ul>
<% end %>
<% end %>
</div>
不只是'@date = params [:date]? DateTime.parse(params [:date]):DateTime.today'工作? – grilix 2012-08-15 12:58:19
为什么不进行调整就无法正常工作? – 2012-08-15 12:59:14
@grilix - 为DateTime:Class'错误提供了一个'未定义的方法'。 @Christoph - 没有调整就没有错误,但它不会在日历中显示任何数据。但是,如果将其更改为日期字段,则会正确显示数据。 – diasks2 2012-08-15 13:10:19