On 11/19/2011 3:15 PM, Matt Jones wrote:
On Nov 19, 2011, at 2:19 PM, Donald R. Ziesig wrote:

Hi All!

I thought I saw the solution to this problem a long time ago, but I can't seem 
to find it now.

I have a table of Properties with belongs_to Agents.  I want to restrict the 
uniqueness of the property's name only to a specific Agent such that Agent1 had 
Properties A, B and C and Agent2 adds a property B - right now that is rejected 
as being a duplicate, but it shouldn't fail.  I can do this with a bit of 
hacking, but there should be an easy way to do it.

in the Agents model:

   fields do
     name :string, :unique, :required
     *
     *
   end

   has_many :properties

in the Properties model:

   fields do
     name :string, :unique, :required  #I should be able to add something here 
I think.
     *
     *
    end

belongs to :agent

What am I missing here?
The :unique option in the field declaration is a shortcut - it doesn't accept 
all the options that the underlying Rails validation does. If you remove it and 
write out the full validation (on Property):

validates_uniqueness_of :name, :scope =>  :agent_id

it should do exactly what you're describing.

--Matt Jones

That did it! Thanks Matt. My mistake was thinking that this was a hobo option (maybe it should be, but that's another question)

Thanks again,

Don Z..

--
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en.

Reply via email to