Validations in the same Model

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