Rails模板 - 使用generate将索引添加到:created_at

时间:2014-07-12 15:32:17

标签: ruby-on-rails templates

我正在创建一个Rails模板。该模板包含generate(:model, "Post", "content:string", "user_id:integer:index"),可以很好地为Post生成模型。但是,我还想使用Rails模板的:created_at命令为时间戳generate添加索引。这可能在前面提到的生成模型中,还是通过其他方式?

1 个答案:

答案 0 :(得分:6)

我认为您可以简单地传递其他参数来生成,例如:"created_at:datetime:index""--no-timestamps"

  

$ rails g model post content:string   user_id:integer:index updated_at:datetime created_at:datetime:index   --no-时间戳

  invoke  active_record
  create    db/migrate/20140712155207_create_posts.rb
  create    app/models/post.rb
  invoke    test_unit
  create      test/models/post_test.rb
  create      test/fixtures/posts.yml 
     

$ cat db / migrate / 20140712155207_create_posts.rb

 class CreatePosts < ActiveRecord::Migration
   def change
     create_table :posts do |t|
       t.string :content
       t.integer :user_id
       t.datetime :updated_at
       t.datetime :created_at
     end
     add_index :posts, :user_id
     add_index :posts, :created_at
   end
 end

或者,您可以在模型生成后始终生成迁移:

  

$ rails生成迁移AddIndexToPosts created_at:datetime:index

显然,您需要使其符合generate()语法。