показать сообщение об ошибке проверки с другого контроллера - PullRequest
0 голосов
/ 16 июня 2009

У меня есть форма в views / users / show.html.erb

<% form_for [@user,Wall.new] do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :message %><br />
<%= f.text_area :message,:rows=>4 %>
</p>
<%= f.hidden_field :sender_id,:value=>current_user.id %>
<p><%= f.submit "Submit" %></p>
<% end %>

и у меня есть этот метод проверки в Models / wall.rb

подтвердить: isfriend?

def isfriend?
errors.add(:message,'You have to be a friend to send message')  if !Friendship.find(:first,
:conditions=>"requester_id=#{self.sender_id} and accepter_id=#{self.receiver_id} and status='accepted'
or requester_id=#{self.receiver_id} and accepter_id=#{self.sender_id} and status='accepted'")
 end

Все в порядке, валидация работает и сохраняет отключение, а также выдает сообщение об ошибке, но это ненормально, когда выдает такое сообщение

ActiveRecord :: RecordInvalid в WallsController # create

Проверка не удалась: Сообщение Чтобы отправить сообщение, нужно быть другом

RAILS_ROOT: C: / Users / MaDOnos / Documents / NetBeansProjects / tttttt

Как правильно отобразить это сообщение об ошибке.

Ответы [ 2 ]

1 голос
/ 17 июня 2009

Похоже, вы звоните сохранить! (или создать!) вместо сохранения (или создания). Первый вызовет исключение, которое вы получили, позднее вернет false с ошибками проверки объекта.

0 голосов
/ 16 июня 2009

Не понимаю, в чем ваш вопрос? Сохранение AR завершается неудачно с RecordInvalid, как и должно быть, и вы получаете сообщение проверки, которое вы предоставили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...