Couldn't get it to work. I'm going to give up on this one for now and move on. It's good enough for now, and I need to build some custom workflow in addition to AS anyway, so I'll just create accounts via the custom tool.
Thanks for your patience. You really know the ins and outs of AS. -ofer On Nov 12, 8:51 am, "Sergio Cambra .:: entreCables S.L. ::." <[email protected]> wrote: > On Viernes, 12 de Noviembre de 2010 13:49:52 odigity escribió: > > > > > On Nov 12, 7:20 am, "Sergio Cambra .:: entreCables S.L. ::." > > > <[email protected]> wrote: > > > On Viernes, 12 de Noviembre de 2010 12:59:22 odigity escribió: > > > > Thanks for providing a practical solution. Having a little trouble > > > > getting it to work, though. > > > > > It seems that the account_entity_id_form_column method isn't getting > > > > called. I put a line in there that logs a test message, and it's not > > > > showing up in the output. > > > > Do you get entity_id in your form? If you don't get it, add entity_id to > > > config.columns. > > > Yes: > > config.columns = [:entity_type, :entity_id, :balance] > > > Both columns show up in the list (thought entity_id is title > > "Entity"). Still don't see account_entity_id_form_column being > > invoked. :( > > Are you using rails-2.3 branch? > In rails-2.3 branch you must use entity_id_form_column, and you won't get > options hash, only input_name, so you will have to get id using > active_scaffold_options_id: > > def entity_id_form_column(record, input_name) > column = active_scaffold_config.columns[:entity_id] > select_options = if record.entity_type > record.entity_type.constantize.all.map {|r| [r.to_label, r.id]} > else > [] > end > select :record, :entity_id, select_options, :name => input_name, :id => > active_scaffold_options(column)[:id] > end > > > > > > > > > I have ActiveScaffold set up under an admin/ subdirectory, so the > > > > controller is: > > > > /app/controllers/admin/accounts_controller.rb > > > > > Just to be certain I got the location and naming right, I created two > > > > helper modules, and pasted the method into both: > > > > /app/helpers/accounts_helper.rb (Module AccountsHelper) > > > > /app/helpers/admin/accounts_helper.rb (Module Admin::AccountsHelper) > > > > You have to use admin/accounts_helper if your controller is inside admin > > > directory. > > > Cool, that's what I figured. I'll delete the other one. > > > > > Seems to make sense to me, since we're trying to make it a drop-down > > > > box, but AS freaks out when do it. > > > > > Lastly, a theoretical question: Why couldn't AS be modified to look > > > > at the models that are associated with :account as entities? Doesn't > > > > Rails have both directions of the association available for > > > > introspection? > > > > No, rails has no reverse association. AS tries to guess reverse > > > association using class_name, but it's not possible with polymorphic > > > association (it would try to get Entity class). > > > Ah... too bad. > > > > > Then AS could go and select all records in both tables > > > > and include them in the drop-down box. That's ultimately what I'd > > > > prefer, and would be some awesome default logic to include. > > > > It won't work, you won't be able to fill type and id foreign keys only > > > with a form, you won't know what class is selected. Two chained select > > > tags are needed. > > > > You could build a select tag with both tables setting a custom value > > > which joins class name and id, and you should fill type and id fields in > > > the controller, but it must be custom code for each app. > > > I see what you're saying. > > > -ofer > > -- > Sergio Cambra .:: entreCables S.L. ::. > Mariana Pineda 23, 50.018 Zaragoza > T) 902 021 404 F) 976 52 98 07 E) [email protected] -- 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.
