Thanks for getting into the mix and building our "Knowledge Space"

On Tue, Jan 17, 2012 at 1:57 AM, JezC <[email protected]> wrote:

> Ooh - I'm pretty new to hobo, but I just solved this problem (visual
> identification by uniquely naming something where no individual field
> is unique)...
>
> There is a "name" attribute for fields, so you can pick one field as
> the name to be used (there's also rules for picking fields called
> "name", "title", etc, by default):
>
> fields do
>   first, :string, :name => true
>   second, :string
> ...
>
> You can't pick two or more fields like this - you get only one field
> treated as the name. Try this instead:
>
>  def name
>    "#{name}, #{address1}, #{city}, #{state}"
>  end
>
> The method "name" will be used to calculate the value to show in
> Forms, Cards and Pages. Works a treat for me. :)
>
> I think this is the first answer I've given on this list, rather than
> yet another newbie question. Feel my smugnitude (yes, I think this is
> actually the right answer).
>
> Cheers, JeremyC.
>
> On Jan 17, 2:58 am, Arthur Baldwin <[email protected]> wrote:
> > The solution was to change the contents of contact.rb to the following:
> >
> > class Contact < ActiveRecord::Base
> >
> >   hobo_model # Don't put anything above this
> >
> >   fields do
> >     name    :string, :required
> >     company :string
> >     address_1 :string
> >     address_2 :string
> >     city      :string
> >     state     :string
> >     date_met  :date
> >     married   :boolean
> >     age       :integer
> >     notes     :text
> >     timestamps
> >   end
> >
> > validates_uniqueness_of :name, :scope => [:address_1, :city, :state]
> >
> >   # --- Permissions --- #
> >
> >   def create_permitted?
> >     acting_user.administrator?
> >   end
> >
> >   def update_permitted?
> >     acting_user.administrator?
> >   end
> >
> >   def destroy_permitted?
> >     acting_user.administrator?
> >   end
> >
> >   def view_permitted?(field)
> >     true
> >   end
> >
> > end
> >
> > I did not take the time to add the ZipCode field or address_2, but you
> get the idea.  The scope adds more fields to the name field to determine
> whether the record has enough "uniqueness".  For any company with a large
> number of customers nation wide, this sort of thing is required.  Works
> exactly like I had hoped.  I tried entering "John Smith" for two separate
> records, with slightly different addresses, and it saved both records.  Now
> I want to find a way to visually distinguish easily between those two
> records from the first "Contact" page.  In other words, create a calculated
> field that concatenates the name field, address_1, city, state, and ZipCode
> so that I know immediately which "John Smith" to click on.
> >
> > Sincerely,
> >
> > Arthur Baldwin
> >
> > ________________________________
> >  From: Arthur Baldwin <[email protected]>
> > To: "[email protected]" <[email protected]>
> > Sent: Monday, January 16, 2012 1:11 PM
> > Subject: Re: [Hobo Users] Re: Multi - Field Uniqueness
> >
> > Ok, I got it working!  I had forgotten to include a colon in front of
> the field names between the opening and closing brackets.
> >
> > Arthur
> >
> > ________________________________
> >  From: Arthur Baldwin <[email protected]>
> > To: "[email protected]" <[email protected]>
> > Sent: Monday, January 16, 2012 12:24 PM
> > Subject: Re: [Hobo Users] Re: Multi - Field Uniqueness
> >
> > What do you mean when you say "fall back to the rails validation"?  Do I
> need to make changes to a different file than the conact.rb file in the
> models directory?
> >
> > Arthur
> >
> > ________________________________
> >  From: kevinpfromnm <[email protected]>
> > To: [email protected]
> > Cc: Arthur Baldwin <[email protected]>
> > Sent: Monday, January 16, 2012 12:03 PMco
> > Subject: [Hobo Users] Re: Multi - Field Uniqueness
> >
> > you'll need to fall back to the rails validation (which the hobo is a
> rails validation, just a shortcut for a common use case).
> >
> > IIRC, the syntax is like validates_uniqueness_of :field, :scope =>
> [:other_field1,...]
> >
> > If that's not enough to get you going, you can get to the rails docs
> pretty easy with a quick google search on validates_uniquess_of (should
> autocomplete after the u)
> > --
> > You received this message because you are subscribed to the Google
> Groups "Hobo Users" group.
> > To view this discussion on the web visithttps://
> groups.google.com/d/msg/hobousers/-/VvjxOt3xpyAJ.
> > 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 athttp://
> groups.google.com/group/hobousers?hl=en.
> >
> > --
> > 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 athttp://
> groups.google.com/group/hobousers?hl=en.
> >
> > --
> > 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 athttp://
> groups.google.com/group/hobousers?hl=en.
>
> --
> 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.
>
>


-- 
-Owen

Owen Dall, Chief Systems Architect
Barquin International
www.barquin.com
Cell: 410-991-0811

-- 
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