使用Ruby日期对象时,我的Ruby on Rails控制台输出和Firebug控制台输出之间的差异是什么?

ben*_*ben 1 ruby ruby-on-rails date

任何人都可以解释Ruby on Rails控制台输出和Firebug控制台输出之间的区别吗?

event_controller.rb

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

list_events.html.erb

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

Ruby on Rails控制台输出:

"2010-08-07"
Run Code Online (Sandbox Code Playgroud)

Firebug控制台输出:

1995
Run Code Online (Sandbox Code Playgroud)

Joh*_*ley 6

实际执行的JavaScript语句是这样的:

console.log(2010-08-07);
Run Code Online (Sandbox Code Playgroud)

- 这被评估为2010减8减7,等于...... 1995!您必须确保控制台日志语句接收字符串.试试这个:

console.log("<%= day[:date] %>");
Run Code Online (Sandbox Code Playgroud)