[解決済み】activerecordのレコードを複製する最も簡単な方法は何ですか?
2022-03-24 07:19:30
質問
ActiveRecordオブジェクトのコピーを作成し、その過程で1つのフィールドを変更したいのですが(さらに id ). これを達成するための最も簡単な方法は何ですか?
新しいレコードを作成し、フィールドごとにデータをコピーする反復処理を行うこともできますが、もっと簡単な方法があるはずです。
おそらくこのようなものでしょう。
new_record = Record.copy(:id)
解決方法は?
コピーを取得するには、dup (< rails 3.1+ではclone) メソッドを使用します。
#rails >= 3.1
new_record = old_record.dup
# rails < 3.1
new_record = old_record.clone
そして、好きなフィールドを変更することができます。
ActiveRecordは組み込みのObject#cloneをオーバーライドします。
を使用して、未割り当てのIDを持つ新しい(DBに保存されていない)レコードを提供します。
ただし、関連付けはコピーされないので、必要であれば手動で行う必要があります。
関連
-
[解決済み] pg gem をインストールしようとすると 'libpq-fe.h' ヘッダが見つからない
-
[解決済み] heroku open - no app specified
-
[解決済み] Paramが無いか、値が空である。ParameterMissing in ResultsController#update
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] nil:NilClass の未定義メソッド `each' - しかし、なぜ?
-
[解決済み】Ruby on Railsはモデルのfield:typeを生成します - field:typeのオプションは何ですか?
-
[解決済み】Ruby: 配列から最初の要素を削除する最も簡単な方法は何ですか?
-
[解決済み】Ruby: ハッシュキーのフィルタリングを行う最も簡単な方法とは?
-
[解決済み】要素を配列の先頭にプッシュする最も簡単な方法は何ですか?
-
[解決済み] ActiveRecordのランダムレコード
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bundler: コマンドが見つからない
-
[解決済み】TypeError: SymbolからIntegerへの暗黙の変換がない。
-
[解決済み】gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み] Railsです。NameError: 初期化されていない定数
-
[解決済み] RailsのRootディレクトリのパス?
-
[解決済み] Railsです。gemを使った特定バージョンのライブラリのアンインストール
-
[解決済み] Ruby:Rubyの配列にinclude.の反対はある?
-
[解決済み] Railsコントローラからホスト名を取得する
-
[解決済み] railsで':remote => true'はどのように動作するのでしょうか?