От новичка до рельсов, и мне трудно найти правильные отношения для использования.
У меня есть учетная запись и модель пользователя.Я хочу определить их отношения с помощью модели отношений.
Пользователь может владеть / модерировать / подписываться на множество учетных записей.Аккаунт может иметь много владельцев / модераторов / подписчиков.Отношения могут быть типа владелец / модератор / подписчик.
Я хочу иметь возможность создать учетную запись и пользователя одновременно с помощью 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 через?Это то, что сбивает меня с толку.Я понятия не имею, как должны выглядеть мои модели.
Боюсь, мой дизайн отношений испорчен.Не уверен, что пользователь должен иметь только одну связь с учетной записью (владелец, или модератор, или подписчик) или несколько отношений с одной учетной записью (владелец и подписчик и модератор).