私がしようとしていることは次のとおりです。ネストされたアトリビュートフォームの子関係の管理
ユーザはいつでもアクティブなプロフィールを1つ持つことができます。このアクティブなプロファイルは、管理者がサイトのルールおよび規則に準拠していることを確認するために、管理者の権限を必要とします。ユーザーがプロフィールを編集すると、管理者が変更を承認するまで公開プロフィールには影響しません。プロファイルのレビュー中に編集者が編集を行った場合、その編集内容はレビュー対象の未処理のプロファイルに適用され、キューの背面にプッシュされます。
私のモデルは、このような何かを見て:
はclass Profile < AR:B
belongs_to :user
end
class User < AR:B
has_many :profiles do
def active
...
end
def latest
end
end
def profile
self.profiles.active
end
end
ユーザーがプロファイルのコレクションが公開されていないとして、直接プロファイルを編集できないようにする必要があり...一つの小さなねじれがあります。代わりにユーザーを編集し、プロフィールフィールドがそこに表示されます。
これを管理する最適な方法は何ですか?現在、私は使用しています:
accepts_nested_attributes_for :profiles
しかし、それはかなりハッキーのようです。理想的には、このロジックのほとんどがモデルに収められていますが、私が嫌うのはプレゼンターの使用です。
ご意見をいただければ幸いです。さらなる情報が必要な場合はお知らせください。この投稿を適切に更新します。
元々私はこのように考えていましたが、それは理想的ではないと思ったのでそれを却下しましたが、あなたの書き込みはそれを行う正しい方法だと私に確信していました。モデルはよりシンプルです。 – jonnii
私はおそらく、この状況でFKが2つのプロファイルを区別するためにユーザモデル上にある必要があるので、belongs_to not a has_oneであることに言及すべきです。 – jonnii
はい、あなたは正しいです。セマンティクスでは少し怪しいですが、BD関連のものは正しいでしょう。 – Yaraher