У меня есть форма регистрации пользователя, которая имеет обычные поля (имя, адрес электронной почты, пароль и т.д.), а также поле "team_invite_code" и всплывающее меню "role".
Перед созданием пользователя - только в том случае, если роль пользователя - "ребенок" - мне нужно:
- проверьте, присутствует ли файл team_invite_code
- проверьте, есть ли команда в таблице команд, которая имеет одинаковый код приглашения
- связать пользователя с командой.
Как я могу написать правильную проверку в Rails 2.3.6?
Я попробовал следующее, но он дает мне ошибки:
validate :child_and_team_code_exists
def child_and_team_code_exists
errors.add(:team_code, t("user_form.team_code_not_present")) unless
self.is_child? && Team.scoped_by_code("params[:team_code]").exists?
end
>> NameError: undefined local variable or method `child_and_team_code_exists' for #<Class:0x102ca7fa8>
UPDATE: Этот код проверки работает:
def validate
errors.add_to_base(t("user_form.team_code_not_present")) if (self.is_child? && !Team.scoped_by_code("params[:team_code]").exists?)
end