【问题标题】:Rails Simple Calendar Gem ErrorRails 简单日历宝石错误
【发布时间】:2026-01-09 23:40:01
【问题描述】:
【问题讨论】:
标签:
ruby-on-rails
rubygems
【解决方案1】:
根据文档,calendar 助手采用Hash 参数。在您的代码 sn-p 中,您传递了一组事件 (@events),而不是选项的 Hash。
如果您想传递事件,文档会显示如何进行。
<%= month_calendar events: @meetings do |date, meetings| %>
<%= date %>
<% meetings.each do |meeting| %>
<div>
<%= meeting.name %>
</div>
<% end %>
<% end %>
来源:https://github.com/excid3/simple_calendar#rendering-events
因此,在您的情况下,您需要将 @events 集合作为键值对传递,如下所示:<%= calendar events: @events do %>。
【解决方案2】:
我认为您需要在用于事件的模型中添加 start_time 别名定义,我的 app/models/evento.rb 中有此定义
def start_time
self.fecha
end
这里的“fecha”是我的活动的开始日期。然后你必须像 Carlos Ramirez 解释的那样操纵你的事件,所以你必须在你的 'calendar.html.erb' 中有这样的东西:
<h3>Eventos (<%= @eventos.count %>)</h3>
<%= month_calendar events: @eventos do |date, eventos| %>
<%= date.day %>
<% eventos.each do |evento| %>
<div>
<%= link_to evento.title, evento %>
</div>
<% end %>
<% end %>
这应该会呈现指向您的活动的链接。