I have a pretty good example of many to many example using :through
association which may may help you.
http://github.com/sanjayayogi/m2m_test/tree/master

Active_scaffold seems to be working pretty well in my example:
Check it out and try it, maybe you will get some ideas that may
help...

For example:

I do not know what you are trying to accomplish exactly but you could
do something like this for example:

Parents table:
ParentFirstName:string
ParentLastName:string
Father:boolean (for example create a method : if true print label
"Father"
if false print label "Mother"

Childrens table
ChildFirstName:string
ChildLastName:string
Sex:boolean (for example create a method : if true print label "Son"
if false print label "Daughter"
Age:integer

Parents_Children join table:
parent_id:integer
children_id:integer


On Dec 17, 6:17 pm, coalex <[email protected]> wrote:
> Hi dschruth,
> try:
> has_many :kids_m, :conditions => "kids.sex = 'male'", :source
> =>:kids, :foreign_key => 'mom_id'
> has_many :kids_f, :conditions => "kids.sex = 'female'", :source
> =>:kids, :foreign_key => 'dad_id'
>
> if that doesn't work...You may want to remodel the DB and include a PK
> in the joining table then use a :through association. (which is
> somewhat limited using AS unfortunately). Or use a view with the
> joining sql for the join happening in the database.
> my .02
> coalex
>
> On Dec 17, 8:51 am, "Sergio Cambra .:: entreCables - Symbol Servicios
> Informáticos S.L. ::." <[email protected]> wrote:
>
>
>
> > El Tuesday 16 December 2008 18:43:08 dschruth escribió:
>
> > > Thanks Sergio.
>
> > > But I've already tried using "to_label"  but it didn't make a
> > > difference.   And after reading our link I realized it shouldn't make
> > > a difference because I'm already using ":name" in every table already.
>
> > > I think I just need to find a way to turn a "has many" foreign key
> > > into a link.  something like:
>
> > >   def kids
> > >       collect.link(kids_m).join(",")
> > >   end
>
> > > but, of course this doesn't work because I'm still a ruby novice.
>
> > > Dave
>
> > I think I don't understand your problem. Is your problem you get
> > #<Kid:0x2a99372f08> instead of kid's name?
>
> > > On Dec 16, 1:14 am, "Sergio Cambra .:: entreCables - Symbol Servicios
>
> > > Informáticos S.L. ::." <[email protected]> wrote:
> > > > El Monday 15 December 2008 20:33:11 dschruth escribió:
> > > > > I'm building a composite association link out of two foreign keys to
> > > > > the same table.
>
> > > > > And I've tried three approaches none of which are working.
> > > > > -----------------------------------------------------------------------
> > > > >---- --------- class Parent < ActiveRecord::Base
>
> > > > >   has_many :kids_m, :foreign_key => :mom_id, :class_name => "Kid"
> > > > >   has_many :kids_f, :foreign_key => :dad_id, :class_name => "Kid"
>
> > > > > # define the single composite association column
> > > > >   def kids
> > > > >     if (sex == "male")
> > > > >       kids_m
> > > > >     else
> > > > >       if sex == "female"
> > > > >         kids_f
> > > > >       end
> > > > >     end
> > > > >   end
>
> > > > > end
> > > > > -----------------------------------------------------------------------
> > > > >---- -------
>
> > > > > But this results in :
> > > > > #<Kid:0x2a99372f08>#<Kid:0x2a99371658>... etc
>
> > > > > I tried turning these into links using:
> > > > > ------------------------------------------------------
> > > > > module ParentsHelper
> > > > >   def solid_secondary_analyses_column(record)
> > > > >     record.kids_m.first(3).collect{|kid_m| h(kid_m)}.join(', ')   #BUT
> > > > > NO LINK!!!
> > > > >      # can somebody tell me how to get "link_to" working with this?
> > > > >   end
> > > > > end
> > > > > ------------------------------------------------------
>
> > > > > I've also tried just
> > > > > -----------------------------------------------------------------------
> > > > >---- -- class Parent < ApplicationController
> > > > >   config.columns[:kids].set_link('nested', :parameters =>
> > > > > {:associations => :kids_m})
> > > > > end
> > > > > -------------------------------------------------------------------
> > > > > which works!  but only for one association... which brings us back to
> > > > > the original problem....
>
> > > > > Any Ideas on how to do this?
>
> > > > Define a to_label method in your
> > > > model:http://github.com/activescaffold/active_scaffold/wikis/describing-r
> > > >ec...
>
> > > > --
> > > > Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
> > > > Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
> > > > T) 902 021 404 F) 976 52 98 07 E) [email protected]
>
> > --
> > Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
> > Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
> > T) 902 021 404 F) 976 52 98 07 E) [email protected] Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"ActiveScaffold : Ruby on Rails plugin" 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/activescaffold?hl=en
-~----------~----~----~----~------~----~------~--~---

  • cu... dschruth
    • ... Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
      • ... dschruth
        • ... Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
          • ... coalex
            • ... sanjayayogi

Reply via email to