【问题标题】:Syntax to specify limit while generating a model生成模型时指定限制的语法
【发布时间】:2012-06-03 20:55:21
【问题描述】:

在rails中,我们可以这样生成模型

rails generate model post title:string body:text published:boolean

根据rails guide,该命令具有以下语法

$ rails generate model
Usage: rails generate model NAME [field:type field:type] [options]

我想知道是否可以将每个字段的限制/长度指定为[options] 的一部分?还有,[options]这个参数有什么用?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord


    【解决方案1】:

    您可以用大括号提供限制:

    rails g model Session session_id:string{40} user_agent:string{200}
    

    【讨论】:

      【解决方案2】:

      在 Rails 5 中我必须使用 rails g model User name:"string{16}"

      【讨论】:

      • 就是这样。请注意,"string{16}" 在引号内。
      【解决方案3】:

      您需要在花括号中给出大小,这将被转换为限制

      rails generate model MyModel some_id:integer{20} some_name:string{255}
      some_text:text some_int:integer{1} some_deci:decimal{10,2}
      

      您还可以有其他数据类型,例如布尔值、日期、时间、 日期时间、浮点数、二进制等。

      选项类似于“您是否还需要运行迁移”。

      【讨论】:

        猜你喜欢
        • 2012-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-29
        • 1970-01-01
        • 2013-09-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多