【发布时间】:2009-08-06 17:24:23
【问题描述】:
我想要做的是:
任何时候用户都可以拥有 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。理想情况下,大部分逻辑都存在于模型中,但我正在考虑的另一件事是使用演示者。
任何想法将不胜感激,如果您需要更多信息作为评论,请告诉我,我会适当地更新这篇文章。
【问题讨论】:
标签: ruby-on-rails nested-attributes has-one activeview