Hi all,
I am newbie in Rails and new at this group. I am with a problem with
validation. I searched at Google but I cant see anything.
I have just one Model: User. I have 2 CRUD's (controllers and views):
Representatives and Users... Users CRUD is ok but Representatives not.
I have different validations rules for Representatives and Users, but
I have to use the same table in the DB, so the same Model.
How can I make different validations in a same Model?
Thanks a lot!
Look into STI (single table inheritance). This will let you use the same underlying table (and share common functionality) among multiple models...
-philip
Hi philip!!!
Thanks for your reply. I read about STI and solve my problem.
BUT now I have another hehe. I have 2 validations rules, because I
have a has_one association. How can I do this?
http://pastie.org/1836266
For example... I have to validate :name (Profile) for Representative,
but not for User.
Thanks!
Thanks for your reply. I read about STI and solve my problem.
BUT now I have another hehe. I have 2 validations rules, because I
have a has_one association. How can I do this?
http://pastie.org/1836266
For example... I have to validate :name (Profile) for Representative,
but not for User.
class Profile...
validates :name, :presence => {:if => lambda {|p| p.representive.present?}}
end
Or something like that... might need to check the class type instead... that should get you started though.
Thanks! I will try do something like that.
s
Just to complete the topic... solved!
Solution:
validates_presence_of :name, :tel_commercial, :tel_mobile, :address, :city, :state, :neighborhood,
:if => :representative?
def representative?
lambda {|p| p.representative.present?}
end
Thanks philip! s