防止Rails将时间戳字段添加到模型和模式中

时间:2013-02-25 20:52:21

标签: ruby-on-rails-3.2

当我使用Rails生成器生成模型时,它会自动添加该时间戳字段,这也会导致模式中的这两个时间戳字段被创建。

我知道我可以编写一个迁移来删除这两个字段,但我想知道是否有办法实际上不能生成它们,而不是创建迁移来删除它们?

1 个答案:

答案 0 :(得分:1)

在这种情况下,使用终端中的以下行来获取特定生成器(模型)的帮助选项。

rails g model --help

您要用来阻止添加字段(created_atupdated_at)的选项如下:

rails g model <model_name> <[[field_name(fn):field_type(ft)], [fn:ft]]> --timestamps=false

使用它创建的相应迁移将没有两个时间戳字段。

示例:

rails g model test --timestamps=false

  invoke  active_record
  create    db/migrate/20130225224757_create_tests.rb
  create    app/models/test.rb

使用unix cat命令检查文件以查看文件的输出确认时间戳未包含在迁移中。

cat db/migrate/*_create_tests.rb
class CreateTests < ActiveRecord::Migration
  def change
    create_table :tests do |t|
    end
  end
end