[解決済み] 参照を多相化するためのマイグレーションを生成する方法
2022-05-25 04:33:51
質問
商品テーブルがあり、カラムを追加したい。
t.references :imageable, :polymorphic => true
して、そのためのマイグレーションを生成しようとしていました。
$ rails generate migration AddImageableToProducts imageable:references:polymorphic
となっていますが、明らかに間違っています。どなたかご提案いただけないでしょうか?ありがとうございます。
マイグレーションを生成した後に手動で入れようとすると、このようになりました。
class AddImageableToProducts < ActiveRecord::Migration
def self.up
add_column :products, :imageable, :references, :polymorphic => true
end
def self.down
remove_column :products, :imageable
end
end
で、まだうまくいっていません。
どうすればよいのでしょうか?
Rails 4以前には、ポリモーフィックな関連付けのための組み込みジェネレータがありませんでした。Railsの初期バージョンを使っている場合は、空のマイグレーションを生成してから、必要に応じて手作業で修正してください。
更新 : どのテーブルを変更するのかを指定する必要があります。によると このSOの答え :
class AddImageableToProducts < ActiveRecord::Migration
def up
change_table :products do |t|
t.references :imageable, polymorphic: true
end
end
def down
change_table :products do |t|
t.remove_references :imageable, polymorphic: true
end
end
end
Rails 4ではポリモーフィックなアソシエーションのためのジェネレータが追加されました(simon-olivierの回答参照)。
関連
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] Ruby:Rubyの配列にinclude.の反対はある?
-
[解決済み] ルビーオンレール モデルから明確な値を選択する
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] 特定のマイグレーションをロールバックする方法を教えてください。
-
[解決済み] Ruby on Railsのマイグレーションで、カラムをユニークにしてインデックスを作成するにはどうすればよいですか?
-
[解決済み】Rails 4で参照列のマイグレーションを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み] 新規ユーザー作成時に ActiveModel::ForbiddenAttributesError が発生する。
-
[解決済み] Rails のインストールに失敗する: activesupport には Ruby のバージョン >= 2.2.2 が必要です。
-
[解決済み] Oauth2 Instagram API "リダイレクトURIが登録されたリダイレクトURIと一致しない"
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜ?
-
[解決済み] Herokuの問題 : あなたが探しているページは存在しません。
-
[解決済み] railsでhidden fieldタグを使用する方法
-
[解決済み] RoRにおけるSpringサーバーの機能とは?
-
[解決済み] rails/rubyでgroup_byを使用する。