2010-08-10 44 views
1

任何人都可以解释Ruby on Rails控制台输出和Firebug控制台输出之间的区别吗?使用Ruby日期对象时,导致Ruby on Rails控制台输出和Firebug控制台输出之间的差异是什么?

event_controller.rb

def list_events 
    @days[1][:date] = (((Date.new(2010, 8, 6)) + 1).to_s) 
end 

list_events.html.erb

<% @days.each_with_index do |day, i| %> 
    <% p day[:date] %>; //RoR console 
    console.log(<%= day[:date] %>); //Firebug console 
<% end %> 

Ruby on Rails的控制台输出:

"2010-08-07" 

萤火虫控制台输出:

1995 

回答

6

,实际上是正在执行JavaScript语句是这样的:

console.log(2010-08-07); 

—这被评估为2010零下8零下7,相当于1995年...!您必须确保控制台日志语句接收到一个字符串。试试这个:

console.log("<%= day[:date] %>"); 
+0

绝对的最小惊喜的原则! – 2010-08-10 13:28:05