2012-03-05 3 views
0

У меня есть два рельса Активных моделей записи групп и счетаValidate уникальность поля внутри belongs_to, has_many отношение

group 

    has_many :accounts 

    id 
    name 
    .. other infromation 
    timestamps 


Account 

    belongs_to :group 

    id 
    name 
    .. other information 
    timestamps 

мне нужно сделать Подтверждает: имя,: уникальность => верно в разделе счетов, но только под группой. Как и в i, я хочу, чтобы имя учетной записи было уникальным в группе. Я знаю, что могу применить ограничение базы данных, но могу ли я сделать это с помощью AR? Возможно ли это?

ответ

9

Попробуйте это:

validate :name, :uniqueness => true, :scope => :group_id 

Для получения дополнительной информации о доступных для проверки вариантов, проверить ActiveRecord Validations documentation.

+1

Спасибо! может принять это только через 11 минут! thats, что переполнение стека говорит :) – Baaju

+1

Является ли это 'validate' или' validates'? –

+1

По крайней мере, на Rails5 правильный путь shoud: 'validates: name,: uniqueness {: scope =>: group_id}' – jlbenc

Смежные вопросы