Как сделать (я думаю, пользовательскую) проверку, чтобы определить, что моя модель должна иметь одну из моих моделей STI?У Rails STI валидация должна быть одна
Мои модели так:
class Account < ActiveRecord::Base
has_many :users
has_one :admin, class_name: Admin, dependent: :destroy
has_many :members, class_name: Member, dependent: :destroy
accepts_nested_attributes_for :admin, reject_if: proc { |attributes| attributes['name'].blank? }
accepts_nested_attributes_for :members, reject_if: proc { |attributes| attributes['name'].blank? }
# Validate should have one of either a member or a user
# validates :users, ...
end
class User < ActiveRecord::Base
end
class Admin < User
end
class Member < User
end
Я хочу, чтобы проверить, когда создается учетная запись должна иметь один администратора или по крайней мере один элемент.
При необходимости я могу предоставить дополнительную информацию.
Спасибо!
У учетной записи не будет пользователей до тех пор, пока * после этого не будет создан. Запись должна быть сохранена, прежде чем вы сможете подключить к ней пользователей. – tadman
О, я забыл упомянуть, что это принимает nested_attributes_for. Изменит вопрос. – index