无论何时查询,都格式化字段

时间:2013-04-19 20:51:59

标签: sql ruby-on-rails ruby-on-rails-3 time

我有一个Rails应用程序,充当iPhone应用程序的后端。每当创建一个记录(我们称之为message)时,我会将来自iPhone应用程序的字符串格式化为Ruby DateTime,该字符串将保存为数据库中的字段。字符串本身是从iPhone端的NSDate转换而来的。我的问题是我想将DateTime转换回一个字符串,只要为消息发送查询,就可以轻松地将其格式化回NSDate。对此有一个简单的解决方案吗?

2 个答案:

答案 0 :(得分:1)

观点观点不一定是坏观点,但我可能会建议在date_string模型上添加Message属性,如下所示:

class Message
  def date_string
    date.to_s # or however you want to format it
  end
end

然后,在渲染JSON时,请包含date_string。我不知道你用它来渲染你的JSON,但是我对RABL有了很好的体验。

答案 1 :(得分:0)

这个解决方案就是一个观点。在数据库中创建一个视图以访问该表:

create view vw_table as
    select <columns that you want>
           <code to convert datetime here> as NSDate
    from t;

然后,您可以使用应用程序中的视图而不是表格。