Hello,
I want to restrict my users having more than one address.
Here are the definitions from my classes :
class User < ActiveRecord::Base
has_one :address, dependent: :destroyendclass Address < ActiveRecord::Base
belongs_to :user
validates :user, presence: true
validate :user_association
def user_association
unless Address.where(user_id: user.id).count == 0
errors.add(:user_id, 'Only one address per user')
end
endend
I'm creating my address from user model, like this :
def create_address_relation
a = Address.create(address_type: @type.to_s, user_id: id)
self.address = aend
However when I'm able to create two address objects for same user. (I'm
using paranoia gem for soft deleting objects, not sure if that is relevant)
Any suggestion how to make validations work? except unique index on the db
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/f9593b29-3a3a-44e2-976c-3016c9d4fbea%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.