Ruby on rails Rails 3.2-最佳位置-编辑时日期值格式问题
在我的Rails 3.2 web应用程序中,我使用Ruby on rails Rails 3.2-最佳位置-编辑时日期值格式问题,ruby-on-rails,ruby,ruby-on-rails-3,date,best-in-place,Ruby On Rails,Ruby,Ruby On Rails 3,Date,Best In Place,在我的Rails 3.2 web应用程序中,我使用best\u In\u placegem创建了一个基本的简历模板。我对类型:date有问题。默认情况下,它以yyyy-mm-dd格式显示日期,但在显示和编辑时,我需要mm/dd/yyyy格式。为了更改显示中的格式,我使用了一个助手display\u as:in best\u in\u place,我可以看到格式已经更改 问题是,当我单击该值进行编辑时,它将再次返回到旧格式(yyyy-mm-dd),请帮助我解决此问题。下面您可以找到它的代码 看法
best\u In\u place
gem创建了一个基本的简历模板。我对类型:date
有问题。默认情况下,它以yyyy-mm-dd
格式显示日期,但在显示和编辑时,我需要mm/dd/yyyy
格式。为了更改显示中的格式,我使用了一个助手display\u as:
in best\u in\u place,我可以看到格式已经更改
问题是,当我单击该值进行编辑时,它将再次返回到旧格式(yyyy-mm-dd),请帮助我解决此问题。下面您可以找到它的代码
看法
个人资料
名称
:
电子邮件
:
出生日期
:
性别
:
婚姻状况
:
语言能力
:
国籍
:
教育背景/资格
工作经验
证明
$(文档).ready(函数(){
//$.extend($.fn.datepicker.defaults,{format:'mm/dd/yy'});
/*$.datepicker.SetDefault({
日期格式:“mm/dd/yy”
});*/
jQuery(“.best_in_place”).best_in_place();
});
模型
class Resume
附上两个截图供参考。如果看不到,请下载并放大图片。谢谢你的帮助:)
我已经找到了一个解决方案,但我不确定根据Rails惯例,它是否合适 解决方案: 只需覆盖模型本身中的
dob
字段值。这是简历模型
class Resume < ActiveRecord::Base
belongs_to :user
attr_accessible :certification_info, :dob, :educational_info, :gender, :linguistic_ability, :marital_status, :nationality, :work_experience_info
def dob
if self.read_attribute(:dob)
self.read_attribute(:dob).to_date.strftime("%m/%d/%Y")
else
self.read_attribute(:dob)
end
end
end
class Resume
使用此解决方案,我们甚至不需要将显示为辅助对象,而使用最佳位置。它将在可编辑/非编辑模式下以mm/dd/yyyy
格式显示值。尝试:
$.datepicker.SetDefault({
日期格式:“dd-mm-yy”
}); 如果希望以默认格式打印日期,则需要配置初始化。
创建一个
初始值设定项/date_format.rb
使用此行
Date::DATE_FORMATS[:default] = "%m/%d/%Y"
class Resume < ActiveRecord::Base
belongs_to :user
attr_accessible :certification_info, :dob, :educational_info, :gender, :linguistic_ability, :marital_status, :nationality, :work_experience_info
def dob
if self.read_attribute(:dob)
self.read_attribute(:dob).to_date.strftime("%m/%d/%Y")
else
self.read_attribute(:dob)
end
end
end
Date::DATE_FORMATS[:default] = "%m/%d/%Y"