在定义可空字段和外键时Rails中的脚手架

Mri*_*lla 2 ruby ruby-on-rails scaffolding

我只想弄清楚我的方式,但我需要一点帮助rails generate scaffold命令.

这是我想要使用的命令

rails generate scaffold Expense user:??? name:string description:text
Run Code Online (Sandbox Code Playgroud)

我希望该description字段可以为空,并将users字段链接到另一个模型 - 在这种情况下,我想为用户创建一个外键.我正在使用devise身份验证框架.

我已经读过许多RoR开发人员尝试避免使用脚手架方法而选择手动方法,但我的网络应用程序非常简单,我想到了脚手架方式.

hea*_*xer 6

脚手架仅生成您随后运行的迁移.生成文件后,只需打开生成的迁移并调整您需要特定约束的任何值.默认情况下,列设置为null,除非您另行指定,例如:

  create_table "slugs", :force => true do |t|
    t.integer  "sequence",                     :default => 1, :null => false
    t.string   "sluggable_type", :limit => 40
    t.string   "scope",          :limit => 40
    t.datetime "created_at"
  end
Run Code Online (Sandbox Code Playgroud)

这是由friendly_id插件生成的代码,您可以看到他们已指定序列列不能为null,而其他字段具有其他约束.