お世話になっております。
同一のモデルからレコードを取得し、その両者の差分を出すようなプログラムを作りたいです。
実現したいことは以下のとおりです。
ruby
1record1 = Model.where(条件1) 2record2 = Model.where(条件2) 3 4#record1 3レコード 5#<ActiveRecord::Relation [ 6# #<Model id: "1", name: "太郎", kana_name: "taro">, 7# <Model id: "2", name: "太郎", kana_name: "">, 8# <Model id: "3", name: "太郎", kana_name: ""> 9# ] 10 11#record2 2レコード 12#<ActiveRecord::Relation [ 13# #<Model id: "1", name: "太郎", kana_name: "tari">, 14# <Model id: "2", name: "健太", kana_name: "kenta"> 15# ] 16 17# 最終的にviewに表示したいアウトプットの情報(record1の情報がrecord2に変更になったことを伝える画面) 18# 比較した結果、レコードが減った場合には「削除されました。」増えた場合には「追加されました。」を表示したいです。 19id: 1 20 kana_name: 'taro' → 'tari' 21id: 2 22 name: '太郎' → '健太' 23 kana_name: '' → 'kenta' 24id: 3 25 削除されました。
- rubyにはmergeやdiff等のメソッドが用意されているようですが、こういった場合に最も適したメソッドはどういったものが考えられるでしょうか?Railsの知識が少ないため、具体的なコードをご教示頂けると非常に助かります。
よろしくお願い致します。
RubyOnRails5
- 申し訳ありません。
回答1件
あなたの回答
tips
プレビュー