新手上铁路,很难找到合适的人际关系。
我有一个帐户和一个用户模型。我想通过关系模型来定义他们的关系。
用户可以拥有/审核/订阅许多帐户。 一个帐户可以拥有许多所有者/版主/订阅者。 关系可以是类型所有者/主持人/订阅者。
我希望能够通过accounts_controller.rb
(伪代码)同时创建帐户和用户:
def new
if signed_in?
current_user.account.build
else
@account = Account.new
@owner = Account.owner.build
end
end
def create
if signed_in?
current_user.account.build
current_user.save? redirect_to(current_user) ? render 'new'
else
if @account.save
@user = Account.owner
sign_in @user
redirect_to @user
else
render 'new'
end
end
end
accepts_nested_attributes_for
应该在用户模型或帐户模型中去哪里?这有所不同,因为我希望能够通过帐户创建用户,而不是通过用户创建帐户。
鉴于有关系表,这项工作是否可行?可以用has_many来完成吗?这就是让我失望的原因。我不知道我的模型应该是什么样子。
我担心我的关系设计存在缺陷。不确定用户是否应该只与帐户(所有者,或主持人,或订阅者)建立一种关系,或者与同一帐户建立多种关系(所有者和< / strong>订阅者和主持人)。