Now i want to get the errors of Model(like some error of validate_xxx_of ) How can i do? it seems that no error object on Controllers by API docments, Thanks. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
ModelName.errors.add(attribute, message) ModelName.errors.add_to_base(message) see: http://api.rubyonrails.org/classes/ActiveRecord/Errors.html -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Anson wrote:> Now i want to get the errors of Model(like some error of > validate_xxx_of ) > > How can i do? it seems that no error object on Controllers by API > docments, > > Thanks.object_name.errors will give all these type errors. Suppose if Student is the class name, @student = Student.new(params[:student]) @student.save In the above code, if there is any error while saving, you can get the errors in the controller like, @student.errors It will return the object of ActiveRecord::Errors class. If you want to get the errors in array, you can use like, @student.errors.full_messages Refer the ActiveRecord::Errors class in the ROR API - Karthi -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I have 2 validations on a single object, like this in my user model: validates_length_of :password, :within => 6..12 validates_presence_of :password When I do a unit test to ensure a missing password is responded to correctly, for example: @error_messages = ActiveRecord::Errors.default_error_messages user = User.new(:name => ''my test user'', assert !user.valid? assert_equal @error_messages[:blank], user.errors.on(:password) I get a message such as: test_create_user_passwords_missing(UserTest) [test/unit/user_test.rb:143]: <"can''t be blank"> expected but was <["is too short (minimum is 6 characters)", "can''t be blank"]>. I have 2 questions: 1. Is there a way of ensuring this test passes, ie. by checking for both validations at once? 2. How can I surpress or change the display of these messages in the views? For example, if I get the "can''t be blank" and the "is too short..." message, I would like to display a message saying "Please ensure you enter a password between 6 and 12 characters in length". All help appreciated! Thanks Mark. Karthi kn wrote:> Anson wrote: >> Now i want to get the errors of Model(like some error of >> validate_xxx_of ) >> >> How can i do? it seems that no error object on Controllers by API >> docments, >> >> Thanks. > > object_name.errors will give all these type errors. > > Suppose if Student is the class name, > @student = Student.new(params[:student]) > @student.save > > In the above code, if there is any error while saving, you can get the > errors in the controller like, > > @student.errors > > It will return the object of ActiveRecord::Errors class. > > If you want to get the errors in array, you can use like, > > @student.errors.full_messages > > Refer the ActiveRecord::Errors class in the ROR API > > > - Karthi-- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---