0

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

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

4

1 回答 1

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

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

cat db/migrate/*_create_tests.rb
class CreateTests < ActiveRecord::Migration
  def change
    create_table :tests do |t|
    end
  end
end
于 2013-02-25T22:50:54.673 回答