我使用此代码成功使用calendar_helper:
<%=
calendar({:year => Date.today.year, :month => Date.today.month}) do |d|
cell_text = "#{d.mday}"
cell_attrs = {:class => 'day'}
@events.each do |e|
if e.start_at.mday == d.mday
cell_text << link_to( e.name, :action => 'show', :id => e ) << "<br />"
cell_attrs[:class] = 'specialDay'
end
end
[cell_text, cell_attrs]
end
%>
这给了我正确的html,这个月的事件正在被正确地输出。但是,这给了我转义的代码,所以我需要通过raw传递它。
一旦我通过原始版本,我就会丢失日历(事件)上的详细信息并仅获取日历本身。
知道为什么会这样或者如何绕过它?
答案 0 :(得分:0)
我把我需要做的工作放在一个帮助器方法中,并将day和my collection(比如你的@events)传递给helper方法。它没有调用raw就工作得很好,并且使视图代码更加清晰。