私のアプリケーションの2つの既存のテーブル/モデルにhas_many関係を追加したい&私はそれをどうやって理解するのか分かりませんか?私はレールのコマンドは、それが今、私はとphotos
& users
との関係を設定したいと思い移行既存のモデルに新しいhas_many関係を追加する
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
以下の作成だけrails generate model Photo image:string hikingtrail:references
で、私のためにすべてを扱っ生成する新しいモデルで前にこれをしなかった
各user
has_many :photos
。
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
&はその後...
すくいデシベルを実行します。あなたの関係を設定するのに十分である移行
こんにちはrossmc - どちらかあなたはライン ADD_INDEXを追加することができます:photos、:user_id を手動で移行するか、ジッピーが示唆していることを実行できます。しかし、その場合にも手動でその行を記述する必要があります。ありがとうVikram – vikram