从命令行生成带有强制/必需字段(即非空)的Rails模型

Roo*_*bie 17 ruby-on-rails

任何人都可以帮助生成具有必填字段/列(即NOT NULL)的Rails模型?例如,

$rails generate model Role name:string <???>
Run Code Online (Sandbox Code Playgroud)

为了获得"null:false"约束,我需要指定什么,如下所示?

class CreateRoles < ActiveRecord::Migration
  def change
    create_table :roles do |t|
      **t.string :name, null: false**

      t.timestamps
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

谢谢你提前

Jus*_*pen 27

你不能在生成器命令中这样做.但是,添加null: false到迁移文件非常简单.

  • 多可惜 :).我希望通过从命令行生成模型来保持一致性,这样我就不必触摸文件并避免在命令行上执行某些操作以及迁移文件中的某些操作.为此欢呼! (9认同)
  • 为了在这个棺材中钉一个钉子,我想补充说[docs](http://guides.rubyonrails.org/active_record_migrations.html#column-modifiers)明确地说"`null`和`default`不能通过命令行指定". (8认同)