我想要做的是以下几点:
在任何时候,用户都可以拥有 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
在用户中,但这似乎很hacky。理想情况下,大多数这种逻辑都存在于模型中,但我正在调情的另一件事是使用演示者。
任何想法将不胜感激,如果您需要更多信息作为评论,请告诉我,我会适当地更新这篇文章。