当我使用Rails生成器生成模型时,它会自动添加该时间戳字段,这也会导致模式中的这两个时间戳字段被创建。
我知道我可以编写一个迁移来删除这两个字段,但我想知道是否有办法实际上不能生成它们,而不是创建迁移来删除它们?
答案 0 :(得分:1)
在这种情况下,使用终端中的以下行来获取特定生成器(模型)的帮助选项。
rails g model --help
您要用来阻止添加字段(created_at
和updated_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