Модель Scoping Account с act_as_tenant?

Я использую acts_as_tenant ключ на поддомене, и хотел бы, чтобы "арендатор" мог вносить изменения в свою учетную запись (изменить свой поддомен), но не видеть записи других пользователей.

Добавление столбца account_id в Account с тем же идентификатором, что и Account.id, и создание модели аккаунта

acts_as_tenant(:account)

работает, но чувствует себя неприглядно! Кроме того, это означает, что я не могу использовать инициализатор config.require_tenant = true, так как тогда я пытаюсь получить доступ к модели арендатора, чтобы установить текущего арендатора, когда арендатор еще не установлен, что, естественно, не Работа.

Я убежден, что я иду по этому совершенно неправильному пути, и что правильное решение будет ослепительно очевидным, но недостаток сна мешает мне увидеть свет. Любая и вся помощь приветствуется!

1 ответ

Решение

tenant или владельцу учетной записи потребуется только доступ к одной учетной записи, а именно к его собственной.

Что мы делаем, мы добавляем столбец в таблицу счетов с именем owner_id с идентификатором пользователя, которому принадлежит учетная запись.

Затем в account_controller мы проверяем явно:

before_filter current_account.is_owned_by?(current_user)

Надеюсь это поможет.

Другие вопросы по тегам