calendar_helper不能与raw()一起使用

时间:2011-10-13 17:00:40

标签: ruby-on-rails-3

我使用此代码成功使用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传递它。

一旦我通过原始版本,我就会丢失日历(事件)上的详细信息并仅获取日历本身。

知道为什么会这样或者如何绕过它?

1 个答案:

答案 0 :(得分:0)

我把我需要做的工作放在一个帮助器方法中,并将day和my collection(比如你的@events)传递给helper方法。它没有调用raw就工作得很好,并且使视图代码更加清晰。