On Tue, 7 Jul 2009 09:19:22 -0700, Chris Eppstein <[email protected]> wrote: > I did try that and it doesn't work for partials -- at least not in > rails 2.3. It used to work when we were on 2.1. > > I'm simply trying to share override partials among a set of > controllers that inherit from a common base class. > > Without these changes, only the view directory of the subclass gets > considered. If you say there's a better way, I'll believe you, but can > you please provide a simple working example? I've spent 3 days on this > problem now and I know rails pretty well.
But are you talking about partials like _form_attribute.html.erb, _list.html.erb? These partials can be shared with add_active_scaffold_path, or prepending a path to @active_scaffold_overrides if you want your path with higher priority than app/views/active_scaffold_overrides, I have tried it. Or are you talking about form field overrides? I don't use this feature, but I have tried it and these partials can't be shared currently. I saw you changed many methods, and I'm worried it break something, I think it would be possible with less changes so I will try it if it's what you need. > > Chris > > > Hunt & pecked on my iPhone... Sorry if it's brief! > > On Jul 7, 2009, at 8:40 AM, "Sergio Cambra .:: entreCables S.L. ::." > <[email protected] > > wrote: > >> >> On Martes, 7 de Julio de 2009 03:27:40 Chris Eppstein escribió: >>> Ok. I realized that the patch I made was failing because rails >>> itself wants >>> to find the partials within a controller directory. So I took a >>> slightly >>> different tack with great success. I exposed a method that >>> controllers can >>> call called "add_active_scaffold_override_path" to tell active >>> scaffold >>> where to look for shared partials. I then modified the >>> generic_view_paths >>> module to look for partials within the overrides path if not found >>> elsewhere. >>> The commit is here: >>> http://github.com/caring/active_scaffold/commit/ce40a388318180226103e024d8e >>> b8890abdfd556 >>> >>> Of course, if you can suggest a better way, I'm open to it. >> >> I'm not sure what you want, but I think you would only need to prepend >> (unshift) the path in @active_scaffold_overrides, without more >> changes in >> generic_view_paths module. >> >> What views do you want to put and share in that path? >> >>> >>> Thanks, >>> Chris >>> >>> On Fri, Jul 3, 2009 at 10:25 AM, Chris Eppstein >>> <[email protected]> wrote: >>>> That didn't fix it either. >>>> The problem is that partial_pieces on line 70 is returning: >>>> >>>> controller.class.controller_path, partial_path >>>> >>>> The controller path here is the path to >>>> my subclass so override_form_field_partial? returns false because >>>> the >>>> explicit path doesn't exist, only the inferred path does. >>>> >>>> I went down the path of trying to remove partial_pieces altogether >>>> and >>>> replace it with a method that returns a string that add the "_" >>>> before >>>> the partial name. >>>> >>>> Here's a diff of the changes I made: >>>> http://gist.github.com/140227 >>>> >>>> This made template_exists? find the partial template correctly, >>>> but the >>>> render :partial on line #10 of >>>> vendor/plugins/active_scaffold/frontends/default/views/ >>>> _form.html.erb >>>> then failed to find the partial template. I don't know what >>>> changes have >>>> been made that would cause render :partial to not find a template >>>> on the >>>> view_path. I also don't know what use cases these changes might >>>> break. >>>> >>>> A fix for this issue would be much appreciated, it is one of the >>>> last >>>> issues gating our release of rails 2.3. >>>> >>>> Thanks, >>>> Chris Eppstein >>>> >>>> On Fri, Jul 3, 2009 at 1:19 AM, Sergio Cambra .:: entreCables >>>> S.L. ::. < >>>> >>>> [email protected]> wrote: >>>>> On Jueves, 2 de Julio de 2009 16:23:04 Chris Eppstein escribió: >>>>>> Yes, I am. The problem is that the controller_path of the >>>>>> subclass is >>>>>> getting explicitly added to the override partials, causing the >>>>>> PathSet >>>>> >>>>> to >>>>> >>>>>> not find >>>>>> the partial in the view path. I'm pretty sure you do this due to >>>>>> the >>>>>> complexities around nested scaffolds... >>>>>> chris >>>>> >>>>> Try with add_active_scaffold_path 'app/views/parent_controller' >>>>> after >>>>> active_scaffold configure block >>>>> >>>>>> On Thu, Jul 2, 2009 at 12:57 AM, Sergio Cambra .:: entreCables >>>>>> S.L. >>>>>> ::. >>>>> >>>>> < >>>>> >>>>>> [email protected]> wrote: >>>>>>> On Jueves, 2 de Julio de 2009 06:32:16 Chris Eppstein escribió: >>>>>>>> Hi, >>>>>>>> >>>>>>>> We're upgrading to rails2.3 and have just taken the master >>>>>>>> branch >>>>>>>> of AS from June 9th or so as our current version of active >>>>>>>> scaffold. >>>>>>>> >>>>>>>> We've always kind-of hacked to get our controllers to inherit >>>>>>>> form >>>>>>>> partial overrides from the super class controller by adding an >>>>>>>> explicit prepend_view_path to the subclass controller with the >>>>>>>> view path of the parent. But now that doesn't seem to work >>>>>>>> anymore >>>>>>>> (the override is not found and we get the default nested form >>>>>>>> for >>>>>>>> the association). We spent most of the day reading through the >>>>>>>> code and trying to see what to do, to no avail. >>>>>>>> >>>>>>>> What is the recommended way to have one active_scaffold >>>>>>>> controller >>>>>>>> inherit partial overrides from the superclass controller? >>>>>>> >>>>>>> I think it should work. Are you prepending the path before you >>>>> >>>>> configure >>>>> >>>>>>> active_scaffold for that controller? >>>>>>> >>>>>>>> Thanks, >>>>>>>> Chris Eppstein >>>>>>> >>>>>>> -- >>>>>>> Sergio Cambra .:: entreCables S.L. ::. >>>>>>> Mariana Pineda 23, 50.018 Zaragoza >>>>>>> T) 902 021 404 F) 976 52 98 07 E) [email protected] >>>>> >>>>> -- >>>>> Sergio Cambra .:: entreCables S.L. ::. >>>>> Mariana Pineda 23, 50.018 Zaragoza >>>>> T) 902 021 404 F) 976 52 98 07 E) [email protected] >>> >>> >> -- >> 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 -~----------~----~----~----~------~----~------~--~---
