加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为现有模型添加新的has_many关系

发布时间:2020-12-17 04:15:16 所属栏目:百科 来源:网络整理
导读:我想在我的应用程序中添加一个has_many关系到两个现有的表/模型.我不太确定如何消除它? 当我使用新模型之前执行此操作时,rails generate命令为我处理了所有内容,只需使用rails生成模型照片图像:string hikingtrail:引用它创建了以下迁移 class CreatePhot
我想在我的应用程序中添加一个has_many关系到两个现有的表/模型.我不太确定如何消除它?

当我使用新模型之前执行此操作时,rails generate命令为我处理了所有内容,只需使用rails生成模型照片图像:string hikingtrail:引用它创建了以下迁移

class CreatePhotos < ActiveRecord::Migration
  def change
    create_table :photos do |t|
      t.string :image
      t.references :hikingtrail

      t.timestamps
    end
    add_index :photos,:hikingtrail_id
  end
end

现在我想在用户和用户之间建立一种关系.每个用户的照片has_many:照片.

当我生成迁移以实现此目的时,它不包括add_index:photos,:user_id,这是我应该手动执行的操作还是以下步骤足以在我的数据库中设置此关系?

rails g migration AddUserIdToPhotos user_id:integer

这创造了……

class AddUserIdToPhotos < ActiveRecord::Migration
  def change
    add_column :photos,:user_id,:integer
  end
end

&安培;然后跑……

rake db:migrate

解决方法

建立你的关系就足够了.您可以添加索引以提高记录搜索的速度.实际上有些人建议将索引放到所有外键上.但是现在不要担心,我猜你不会有那么多记录来使用索引.

如果您已经迁移了所有内容并希望添加索引make do:

rails g migration AddIndexToUserIdToPhotos

并在里面添加索引列:

class AddUserIdToPhotos < ActiveRecord::Migration
  def change
    add_index :photos,:user_id
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读