Rails生成子类不会创建新表

时间:2016-04-02 12:34:22

标签: ruby-on-rails

以下是我用来生成rails模型的命令:

rails g scaffold fruit name variety colour
rails g scaffold vegetable harvested_at:time --parent Fruit 

第二个命令执行时没有错误但它不起作用,它只创建一个没有额外属性的模型,并且也没有生成数据库迁移。为什么会这样?

1 个答案:

答案 0 :(得分:1)

ActiveRecord支持将继承层次结构映射到单个表。在这种情况下,从父AR类创建子类时,无法在数据库中创建额外的字段。 如果你写

,你可以看到更多关于脚手架的信息
rails g scaffold --help

在您的终端中。对于AR型号,您可以看到:

ActiveRecord options:
      [--migration], [--no-migration]    # Indicates when to generate migration
                                         # Default: true
      [--timestamps], [--no-timestamps]  # Indicates when to generate timestamps
                                         # Default: true
      [--parent=PARENT]                  # The parent class for the generated model
      [--indexes], [--no-indexes]        # Add indexes for references and belongs_to columns
                                         # Default: true   -t, [--test-framework=NAME]            # Test framework to be invoked
                                         # Default: test_unit

这是您可以使用的完整选项列表。