Уникальность пользователей с разработкой и действиями _в качестве _арендатора в рельсах 3

Я использую действует _как _арендатор гем для управления несколькими арендаторами -, и я использую devise для управления пользователями.

У меня есть только настройка модели пользователя и модели учетной записи для арендаторов. Я могу создавать пользователей для нескольких арендаторов -, все это работает нормально, ЗА ИСКЛЮЧЕНИЕМ, когда я пытаюсь создать двух пользователей с одинаковым адресом электронной почты с разными идентификаторами арендатора, я получаю ошибку уникальности. Я использую опцию клиента проверяет _уникальность _на _, как описано.

Пользовательская модель

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  attr_accessible :email, :password, :password_confirmation, :remember_me

  acts_as_tenant(:account)
  validates_uniqueness_to_tenant :email
end

Модель учетной записи

class Account < ActiveRecord::Base
  attr_accessible :name
end

Контроллер приложений

class ApplicationController < ActionController::Base
  set_current_tenant_by_subdomain(:account, :subdomain)
  protect_from_forgery
end

Похоже, что это должно работать на основе всей документации в актах _в качестве арендатора _. Нужно ли вместо этого переопределять что-то на уровне устройства?

РЕДАКТИРОВАТЬ :После некоторого царапания головы -и небольшого перерыва, проблема, как мне кажется, заключается в том, что по умолчанию Devise добавил уникальный индекс в столбец электронной почты. Это явно не стыкуется с тем, что _действует так, как хочет _арендатор... Я попробую удалить индекс и посмотреть, рвет ли Девиза или нет.

РЕДАКТИРОВАТЬ 2 :Хорошо, пока официально отказались от этого. У меня есть ручная проверка подлинности -для основного сайта, и она работает правильно с действиями _в качестве арендатора _. Я могу только предположить некоторую несовместимость между действиями _в качестве _арендатора и Изобретением на каком-то уровне -вне меня, чтобы найти его на данном этапе.

7
задан Craig McGuff 10 August 2012 в 09:15
поделиться