ruby-on-rails - 在 ruby​​ sqlite3 中更改列日期列格式

标签 ruby-on-rails ruby date sqlite format

我在我的数据库环境中使用 sqlite3。我在 ruby​​ 中有一个名为 date 的列,我使用 date:date 之类的脚手架创建了它,因此类型是 date,它也称为 date。 ruby 默认设置日期以在输入 _form_html.erb 后显示日期,例如“2015-01-18”。但我希望它在 index.html.erb View 上显示日期,如 18-01-2015。所以无论我在表格中输入什么格式都设置为第一种方式,所以如果我输入 18-01-2015,那么它会以相反的方式显示,但如果我随机输入任何内容,它就会显示为空白。

最佳答案

您可以创建一个名为 date_formats.rb 的文件。里面 config/initializers/ .

# config/initializers/date_formats.rb
Date::DATE_FORMATS[:date_month_year] = '%d-%m-%Y'

现在在 View 调用中
<%= date.to_s(:date_month_year) %>

这种方法的优点是,您不需要为每个 View 定义您的客户日期格式。每当您需要这种格式时,您只需使用格式的相应符号即可。阅读 #to_s 方法。

注:Date#to_sDate#to_formatted_s 的别名.

关于ruby-on-rails - 在 ruby​​ sqlite3 中更改列日期列格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28013031/

相关文章:

java - 检查字符串是否只包含日期

ruby-on-rails - 为什么我必须在使用客户验证器后重新加载 rspec 中的记录?

php - OSX(Yosemite) 上的 Rails + MySQL

ruby-on-rails - 什么是 devise_mapping 变量,如何包含它?

ruby-on-rails - ruby 中的复杂正则表达式

ruby-on-rails - Paperclip & RMagick - PDF 的 3 页缩略图和重命名

ruby-on-rails - 为什么linkedIn 在我的URL 中添加了一个磅感叹号(hashbang)?

ruby - jekyll 再生失败,出现 unicode 帖子

php - MySQL STR_TO_DATE 函数返回 NULL

r - 使用两个数据框列应用 seq.Date