我有一个日历设置,其中日期显示在旋转木马上,任务可以分配给每一天。我已经设置了一个很好的jquery对话框来输入任务,我现在正在尝试创建一个ajax响应。提交后,应将我的数据发送到服务器并通过create.js.erb
页面更新页面。为了做到这一点,我必须从我的@log_entry变量中提取日期并使用jquery更新并将该条目添加到该指定日期的轮播条目。但是,出于某种原因,我似乎无法从用于保存到数据库的@log_entry
变量中提取日期。当我进行像alert(<%= @log_entry.date %>);
之类的简单测试时,它会返回一个奇怪的数字,我认为它代表了一年,1978年,我在旋转木马上前进的每一天似乎减少了一个。以下是有问题的代码:
控制器:
def create
@athlete = current_user
@log_entry = @athlete.log_entries.create(params[:log_entry])
respond_to do |format|
format.html { redirect_to log_entries_path }
format.js
end
end
create.js.erb
alert(<%= @log_entry.date %>);
我不清楚为什么它会像1978年那样警告某些事情,它可能在哪里获得这个数字?在我保存并输入LogEntry.last.date.to_s
之后的控制台中,我得到“2012-01-03”。看着服务器一切似乎都有意义。这似乎是唯一无法正确显示的属性,因为当我把它改为:alert(<%= @log_entry.id %>);
我得到了该条目的正确ID。如果它有所帮助我注意到在12月31日这一年减少了一直到最终达到1968年然后当我改为1月1日它跳到2010年然后继续每天减少一个。
任何想法?我正在使用rails 3.0.0
如果它有助于服务器登录以保存条目,那么还有一些信息:
Parameters: {"commit"=>"Save", "log_entry"=>{"workouts_attributes"=>{"0"=>
{"time_of_day"=>"AM", "summary"=>"d", "workout_times_attributes"=>{"0"=>
{"duration"=>"0:00", "zone"=>"1", "_destroy"=>"false"}}}}, "date"=>"Wed Dec 28 00:00:00
-0700 2011"}, "authenticity_token"=>"yKFf4cWujAaNITVthwX9Y7StXJc9eVjdT2v8DStD1C8=",
"utf8"=>"\342\234\223"}
Athlete Load (0.3ms) SELECT "users".* FROM "users" WHERE ("users"."type" = 'Athlete')
AND ("users"."id" = 1) LIMIT 1
SQL (0.5ms) INSERT INTO "log_entries" ("athlete_id", "created_at", "date", "feel",
"updated_at") VALUES (1, '2011-12-29 03:22:36.337600', '2011-12-28', NULL, '2011-12-29
03:22:36.337600')
谢谢, ģ
答案 0 :(得分:1)
我认为警报功能对如何正确呈现日期感到困惑。首先尝试将其传递给JavaScript Date对象:
var date = new Date(<%= @log_entry.date %>);
alert(date);