Say I have a model with a validation in User model like this:

Class User < ActiveRecord::Base
  validates_uniqueness_of :name,
                          :message=>"user has already exist!"
end


As you can see, I want to write my own error message for this
validation.
And I get this error message in Controller like this:


Class Login < ActiveController::Base
  def create_user
    begin
      @user = User.new(:name=>params[:name])
      @user.save!
    rescue
      if @user.errors.blank?
        flash.now[:notice_err] = "Database error!"
      else
        temp = []
        @user.errors.each{|err| temmp << err[1]}
        flash.now[:notice_err] = "<ul><li>"+temp.join("</li><li>")+"</
li></ul>"
      end
    else
      flash.now[:notice] = "<ul><li>User #{params[:name]} created!</
li></ul>"
    end
  end
end


Everything goes on well for now.
However, if I want to show the 'error user name' in the validation
message like this


Class User < ActiveRecord::Base
  validates_uniqueness_of :name,
                          :message=>"user #{self.name} has already
exist!"
end


It cannot pass, and the following error shows out:

undefined method 'name' in model


So my question is "How can I get the value of attributes in a model
validation helper?"
Are there anyone having any idea on this?
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to