В моем приложении Ruby on Rails я пытаюсь добавить проверки, которые гарантируют, что пользователь ввел значение в текстовое поле. В моей системе у меня есть таблица с именем Account
, в которой хранится информация учетной записи электронной почты пользователей, когда они переходят на страницу views/accounts/_form.html.erb
, чтобы добавить новую учетную запись электронной почты. Я хочу проверить наличие номера порта. Я могу сделать это с помощью следующего кода:Ruby on Rails: как проверить, есть ли на определенной странице?
validates :port, presence: true
Это успешно обеспечивает пользователям ввести свой номер порта, но когда пользователь подписывает через views/users/_new.html.erb
страницу они должны ввести только адрес электронной почты (например, пример @ пример. com), и users_controller
затем создаст запись в таблице Account
для этого адреса электронной почты. Моя проблема в том, что на странице views/accounts/_form.html.erb
номер порта требуется, но на views/users/_new.html.erb
это не так.
Есть ли способ подтверждения того, что пользователь вводит номер порта, если он находится на странице views/accounts/_form.html.erb
или вызывает метод create
в accounts_controller
?
Я знаю, что я мог бы сделать это с помощью необходимой HTML-проверки: <%= f.text_field :port, :required => true %>
, но мне нужно добавить дополнительную проверку, а также наличие, поэтому это не подходит.