保存日期与轨道数据库
所以,我是新来的轨所以这可能是一个新手的问题,但我没有找到这个问题的任何地方任何帮助......保存日期与轨道数据库
比方说,我有一个数据库在这里包含“故事”。唯一的列是标题和时间戳:
create_table :stories
add_column :stories, :title, :string
add_column :stories, :date, :timestamp
我有我的意见的形式,所以我可以通过输入查询标题创建一个新的故事:
<%= form_for @story do %>
<input type="text" name="title" value="Story title" />
<input type="submit" value="Start a story" />
<% end %>
我有这个我控制器上:
def create
Story.create title:params[:title]
redirect_to "/stories"
end
而模型'故事'工作正常。所以,当我创建一个新故事时,一切都看起来很好。然而,我的目标是能够按日期排列故事(因此:日期时间戳)。 我该如何制作它,以便将当前日期存储在日期时间戳中,以便我可以按日期对我的项目进行排序?
非常感谢你提前
而不必从头开始重新创建表,在终端运行“轨道摹迁移add_timestamps_to_stories” - 找到新创建的迁移文件,确保它有以下几点:
def change
add_timestamps :stories
end
运行耙分贝:迁移
这增加了两个新的列created_at和updated_at,您可以从这一点通过created_at进行排序。一定要更新以前没有created_at日期的记录(因为它将为零),所以你不会遇到错误。
这实际上是最适合我的需求,我认为。非常感谢你 ! –
def create
Story.create(title:params[:title], date: DateTime.now
redirect_to "/stories"
end
这只有当你想在创建时创建一个具有日期的故事。这也是模型迁移的默认列'(:created_at)' –
我不知道这个方法。谢谢 ! –
如果你只想跟踪你的故事,记录的创建时间戳记,你可以做这样的迁移:
create_table do |t|
t.string :title
t.timestamps
end
在除了你的标题字段,这将创建“created_at”和“updated_at”字段,由Andrew Kim建议,由ActiveRecord为你处理。
非常感谢你的解释=) –
用英文书写时请使用英文标点符号。 – sawa
对不起,旧习惯很难^^ –