メンバーシップデータベース用のアプリをやっています。
それぞれの人がパートナーを持っているかもしれません。リストの表示に関しては、家族ごとに1行だけにしたいので、現時点では名を比較しており、人の名前が2番目の場合は行を表示しません。このような
person.first_name != [person.first_name, person.partner.first_name].sort[0]
つまり、各ファミリは2回ではなく、1回だけ表示されます(パートナーごとに1回)。
そして、私はビューでこれを行っています。
これを行うためのより良い方法があるはずです、そして私がデータベースレベルでそれをすることができればそれは本当に素晴らしいでしょう。それが違いを生むなら、私はpostgresqlを使用しています。
編集
不明な場合は申し訳ありません。
Person1のfirst_nameが「Edward」でPerson2のfirst_nameが「Fay」であるとします。エドワードとフェイは結婚しています。
リストに1回だけ表示したい-行を次のように表示したい
Surname First name Address etc
Mysurname Edward ....
Fay
フェイとエドワードの両方がリストに含まれているので、最初にフェイと一緒に表示したくないので、質問の最初の部分でルビーを使用して、行を表示する必要があるかどうかを確認します-それは彼らを比較しますファーストネームであり、その人がパートナーのファーストネームの前にある拳の名前を持っている場合にのみ行を実行します。
これが私の人物モデルの関連部分です
class Person < ActiveRecord::Base
has_one :relationship_link, :foreign_key => :person_id, :dependent => :destroy, :include => :partner
has_one :partner, :through => :relationship_link, :source => :person_b, :class_name => "Person"
私はそれがより明確であることを願っています