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.

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

Reply via email to