2009-06-16 6 views
0

Ich habe Form in views/users/show.html.erbzeigt Fehlermeldung der Validierung von einem anderen Controller

<% 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 %> 

und ich habe diese Validierungsmethode in Modellen/wall.rb

validate: 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 

Alles ist in Ordnung Validierung funktioniert und deaktivieren Speichern auch gibt es Fehlermeldung, aber es ist nicht normal, wie es Meldung wie das scheiterte

Active :: RecordInvalid in WallsController # erstellen

Validierung gibt: Nachricht Du musst ein Freund sein Nachricht senden

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

Wie kann diese Fehlermeldung in fairer Weise angezeigt werden.

Antwort

0

Ich sehe nicht, was Ihre Frage ist? Die AR-Sicherung schlägt mit RecordInvalid wie es sollte fehl und Sie erhalten die Validierungsnachricht, die Sie angegeben haben.

+0

Frage ist da, wenn Sie sorgfältig schauen. Normale Validierung Fehlermeldung http://justaddwater.dk/wp-content/uploads/2006/08/screenshot-localization-simplified-pirate-talk.png Ich habe Validierung Fehlermeldung wie http: //farm4.static. flickr.com/3224/2848299089_f441133149.jpg –

1

Sieht so aus, als würden Sie sparen! (oder erstellen!) statt speichern (oder erstellen). Ersteres wird eine Ausnahme auslösen, wie Sie es haben, das spätere wird false mit Validierungsfehlern auf dem Objekt zurückgeben.

+0

@wall = @ user.walls.create! (params [: wall]) Ich nutze das, was kann ich tun? –

+0

Verwenden Sie create statt create! –

+0

Validierung funktioniert, aber jetzt gibt es keine Fehlermeldungen, nur die Seite aktualisieren (mit create). –

Verwandte Themen