【问题标题】:Ror creating table associationRor 创建表关联
【发布时间】:2011-07-06 12:59:52
【问题描述】:

我已经创建了一个表,现在我想向表中添加一个关联(has_many 关系)。如果我已经创建了一个表并且 rake db:migrate 在创建模型后已经完成,我该怎么做?

在ror中创建表后是否可以在表中添加关联(has_many关系)?

【问题讨论】:

  • 如果您发布模型的名称,我可以给您确切的运行命令。

标签: mysql ruby-on-rails ruby


【解决方案1】:

您可以使用迁移添加连接两个表的列。注意命名约定。

【讨论】:

    【解决方案2】:

    如果MyModel has_many :foos,那么my_models 表中实际上没有与该关系相关的列。相反,您需要创建带有 my_model_id 列的 Foo 模型,或者生成迁移以将该列添加到现有的 foos 表中。

    也就是说,你想要运行:

    rails generate model Foo <other fields> my_model_id:integer
    

    rails generate migration add_my_model_id_to_foo my_model_id:integer
    

    注意 about 的语法适用于 Rails 3;在 Rails 2 下,你需要ruby script\generate ...

    【讨论】:

      【解决方案3】:

      是的。在您的终端中,执行以下操作:

      rails generate migration AddColumnToTableName column_id:integer
      

      TableName 替换为您需要将列添加到的表的名称,将column 替换为获得belong_to 关联的模型的名称。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-20
        • 2012-06-01
        • 2013-10-09
        • 1970-01-01
        相关资源
        最近更新 更多