validation of nested polymorphic class

I have Admin class & User class and a polymorphic Profile class

class Admin < ActiveRecord::Base   include ActiveModel::Validations   has_one :profile, :as => :profitable   accepts_nested_attributes_for :profile   validates_associated :profile

class User < ActiveRecord::Base   include ActiveModel::Validations   has_one :profile, :as => :profitable

class Profile < ActiveRecord::Base   belongs_to :profilable, :polymorphic => true   validates :title, :first_name, :last_name , :presence => true, :if =>Proc.new { |p| p[:profilable_type] == "Admin" }

I am trying to validates a new Admin form with nested attributes but I don't need the profile validation for the User class, I wrote a validation in the Profile class with a Proc block to test the profilable_type, but it's not working .... is there another way to try ?

Maybe(??) there is a mix-up between “profitable” and “profilable”, or is that intentional?

HTH,

Peter

Thanks Peter .. just a typing error in my post , actually it's well written in the models : has_one :profile, :as => :profitable ( even if profitable would make $$)

the params sent from the form submit are OK

{.. "admin"=>{"area_id"=>"1", "canAdministrate"=>"0", "canManageProject"=>"0", "canShootVideo"=>"0", "canEditVideo"=>"0", "email"=>"", "password"=>"", "password_confirmation"=>"", "profile"=>{"first_name"=>"", "middle_name"=>"", "last_name"=>"", "phone"=>"", "mobile"=>"", "address"=>""}}, "commit"=>"Enregistrer", "action"=>"create", "controller"=>"backoffice/ admins"}

you can see params[:admin] and params[:admin][:profile] in the edit action, if I execute a @admin = Admin.new(params[:admin]) @admin.valid? => false @admin.errors = #<ActiveModel::Errors:0x007fde974fc928 @base=#<Admin id: ....@messages={:email=>["doit être rempli(e)"], :password=>["doit être rempli(e)"]} I get only the email and password errors even with a validation in the Profile model validates :title, :first_name, :last_name , :presence => true