質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

Q&A

解決済

1回答

1095閲覧

同一モデルのレコード数とvalueの差分を取得する方法

hiepita1

総合スコア37

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

0グッド

0クリップ

投稿2019/01/24 07:54

お世話になっております。
同一のモデルからレコードを取得し、その両者の差分を出すようなプログラムを作りたいです。
実現したいことは以下のとおりです。

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiepita1

2019/01/25 01:44

- 申し訳ありません。
guest

回答1

0

自己解決

gemを利用して差分を取ることとしました。ありがとうございました。
https://github.com/tim/activerecord-diff

投稿2019/01/25 01:45

hiepita1

総合スコア37

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問