I''m having trouble with validation and RSpec/spec::rails. I have an Item model which acts_as_ratable. Item has_many :ratings (Rating is another model which essentially maps users to ratings). In the Rating model I have belongs_to :item, :foreign_key => ''rateable_id'' validates_presence_of :rateable_id In the Rails documentation it says to validate on :rateable_id rather than :rateable, so this is what I''ve done above. Now, in my specs I have problems. If I do something like @rating = Rating.new(...) # an invalid Rating @rating.valid? @rating.errors.on(:rateable_id).should_not be_nil (to ensure that an invalid Rating cant be saved), it fails (the validation is ineffectual). If I change back to validates_presence_of :rateable and check for errors.on.(:ratable), that spec will work. However that causes another problem. In that case, if I do this @rating = Rating.new(...) # a valid Rating @rating.save! (which I am doing to test some after_save hooks) it fails and says Rateable cannot be blank. I''m quite confused. I think its related to the foreign_key because I''m not having trouble with any of the other validations. Can anyone shed some light on the situation? Thanks. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---