我在这种情况下使用什么活动记录关联?

时间:2012-03-04 14:58:56

标签: ruby-on-rails ruby-on-rails-3 activerecord associations nested-attributes

新手上铁路,很难找到合适的人际关系。

我有一个帐户和一个用户模型。我想通过关系模型来定义他们的关系。

用户可以拥有/审核/订阅许多帐户。 一个帐户可以拥有许多所有者/版主/订阅者。 关系可以是类型所有者/主持人/订阅者。

我希望能够通过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
  1. accepts_nested_attributes_for应该在用户模型或帐户模型中去哪里?这有所不同,因为我希望能够通过帐户创建用户,而不是通过用户创建帐户。

  2. 鉴于有关系表,这项工作是否可行?可以用has_many来完成吗?这就是让我失望的原因。我不知道我的模型应该是什么样子。

  3. 我担心我的关系设计存在缺陷。不确定用户是否应该只与帐户(所有者,主持人,订阅者)建立一种关系,或者与同一帐户建立多种关系(所有者和< / strong>订阅者主持人)。

0 个答案:

没有答案