Если я правильно понимаю ваш вопрос, вы хотите знать, как проверить форму при отправке и как отображать ошибки при их наличии?
Проверки, которые у вас есть в вашей модели в настоящее время, будут проверять поле «заголовок», когда вы нажимаете кнопку «Отправить». Поэтому я думаю, что вы уже хороши в этом отношении, так как это, кажется, ваш единственный.
Чтобы ошибки отображались в ваших представлениях, вы должны использовать что-то вроде этой формы:
<%= form_for @pages do |f| %>
<h2><%= "#{pluralize(@pages.errors.count, "error")} prohibited this from being saved:" %></h2>
<% @pages.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<p>
<%= f.label :title %><br />
<%= f.text_field :title %>
</p>
<% end %>
Это обрабатывает любые ошибки элегантным способом. Если имеется более одной ошибки, метод pluralize
обрабатывает множественное число слова error, поэтому предложение читает что-то вроде «2 ошибки запретили это сохранение». Таким образом, если вы решите добавить больше полей, вы уже готовы.
Затем pages.errors.full_messages
отображает каждую ошибку в предложении, понятном пользователю.