…
Can you also expalin how validates get the values from the form_for
It doesn’t, your code does that and then calls save. When you call
save the validations get called at appropriate points around the save
to check the data.
Have a look at the Rails Guide ‘ActiveRecord Validations and Callback’.
Colin
–
I click “sign up” → form_for gets displayed → I click “save” then in
user.rb validates takes place. Am I correct to say this.
After you click ‘save’ it goes off to some controller action.
Somewhere in there it presumably calls @user.save
@user.update_attributes or one of the other ways that a record gets
saved. It is at this point that the validations get called.
Colin
–
Yes, you are correct, I understand that. In my users_contoller.rb I have,
def create
@user = User.new(params[:user])
# Handle a successful save.
if @user.save
redirect_to @user
else
@title = "Sign up"
render 'new'
end
end
At that time the validates in the model user.rb gets triggered, am I correct to say that. It validates the fields based on the code like
validates :uun, :presence => true, length => { :maximum =>12}, :uniqueness => true
validates :uname, :presence => true, length => { :maximum => 64} etc…
after this I use puts “the name is #{uname}”. This has problem.
But if I do the puts in “before_save :encryt_password”. Then I have no errors.
I just want to add some more fields before saving the record, that’s why it is important for me.
So, if I know in which variable validates gets the value, might be I can also use it in the same manner.
Thanks & Regards,
Bhasker.