Maybe an AR scope defined in the model would simplify your controller (and
your life). Just a hint, sorry, but I have no time to get into it.

ciao
dd

On Tue, Jun 7, 2011 at 7:59 AM, Michael M <[email protected]> wrote:

> Hi all, recovering Perl addict here to ask a hopefully easy question.
>
> First off, as someone completely new to Rails and subsequently Hobo, I
> want to thank you for a very interesting and usable system for rapidly
> creating a website!
> Accolades aside, some of the magic that hides the inner workings,
> hides them a bit too well for someone trying to learn, hence my
> question.
>
> I'm running Ruby 1.9.1, Rails 3.0.7, and, I think, the latest version
> of Hobo.  I'm trying to port a simple Perl application over as my
> first project.  The old site uses a flat file that uses server names
> generated by the website, and another that holds the location
> information (city airport code, description, and last used-number).
> In moving it over to Hobo, my db tables look like:
>
> #The nearest AirPort Code of the location in which the server lives
> apc
>    fields do
>    name :string, :required, :limit => 3
>    description :string
>    timestamps
>  end
>
>  has_many :dc_locs, :dependent => :destroy
>  children :dc_locs
>
> #The Datacenter location
> dc_loc
>  fields do
>    name :string, :required, :limit => 1
>    description :string
>    timestamps
>  end
>
>  belongs_to :apc
>  has_many :servers, :through => :server_assignments, :accessible =>
> true
>  has_many :server_assignments, :dependent => :destroy
>  children :server_assignments
>  children :servers
>
> #The Servers list
> server
>  fields do
>    name     :string
>    user_ip  :string
>    svr_desc :string
>    timestamps
>  end
>
> #An assignment list to put them all together
> server_assignment
>  fields do
>    timestamps
>  end
>
>  belongs_to :server
>  belongs_to :dc_loc
>
> So far so good, everything is playing well together.
> The server names have the apc imbedded in them and a 1 digit dc
> location identifier.
> My main question is:
>
> In the form that I have that edits the dc_loc (location), I'm trying
> to assign server to the dc_loc and I get the select-many list but I
> want to filter that 1200+ list down to just the servers that have the
> apc for that dc_loc in the name.
>
> My application.dryml has:
>
> <extend tag="form" for="DcLoc">
>  <old-form merge>
>    <field-list: fields="name, description, apc, servers">
>      <servers-view:>
>        <select-many options="&@SList"/>
>      </servers-view:>
>    </field-list:>
>  </old-form>
> </extend>
>
> And my dc_locs_controller.rb looks like spaghetti - I've tried many
> things
>
>  #def Svrs
>   # @SList = Server.apply_scopes(
>    #  :search => [this.apc_id, :name]
>   # )
>    #hobo_index @SList
>  #end
>  def edit
>    #hobo_show do
>    @sns = find_instance
>    @SList =
>      @SList = @sns.servers.where(["name
> like ?", :apcs_name[this.apc_id]])
>    #@sn = Server.name_contains(:apcs_name[this.apc_id])
>    #@sn = Server.apply_scopes(:name_contains =>
> params[:name_contains])
>    #@SList = @ss.to_a
>   # end
>  end
>
> end
>
> the latest one gets an error : undefined method `apc_id' for
> nil:NilClass
>
> I've gone through all the tutorials and the recipes on the hobocentral
> site and searched this list until cross-eyed, but each time I try the
> different solutions I'm still getting the same full list (or none at
> all). Each of the tutorials and recipes have been very helpful, but
> not complete when it comes to controlling the exact way to insert
> custom sql code.  I've tried passing name_contains scopes and still
> get the full list with a message in the console that :name_contains is
> being overwritten (probably due to incorrect syntax).
>
> Any assistance would be greatly appreciated.  Even if you point me to
> another place to learn Rails better before I continue.
>
> Regards,
> M
>
> --
> 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.
>
>

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