On Viernes, 23 de Septiembre de 2011 22:27:05 blmundie escribió:
> Best I can tell there are two issue. The first is
> args_for_lookup(name, prefixes, partial, keys) calls .map on prefixes
> and activescaffold is passing a single prefix as a string. Map is not
> a documented method for String. It works on String on my 1.8.7
> install but not 1.9+. To fix this I changed find_all_templates in
> active scaffold to. This sends prefix as an array and gets the string
> out from the return. I'm not sure this is the ideal solution, but it
> works.
Thanks, I missed this one becuase I use 1.8.7, although I'm not sure why it
worked.
>
> class LookupContext
> module ViewPaths
> def find_all_templates(name, partial = false, locals = {})
> prefixes.collect do |prefix|
> view_paths.collect do |resolver|
> temp_args = *args_for_lookup(name, [prefix], partial,
> locals )
> temp_args[1] = temp_args[1][0]
> resolver.find_all(*temp_args)
> end
> end.flatten!
> end
> end
> end
>
> The second issue I've run into is that @_view_stack is nil if I call
> render :super in the first view and not the partial. Seems like the
> stack only gets added to from render called in the view. Therefor I
> get an error when I call render :super in list.html.erb, but not if I
> call it in _list.html.erb.
I have fixed it. I dislike this fix because it uses a internal variable, which
could be removed in a later version, but render :super it's really a hack too,
so another hack more is not very important.
>
> On Sep 22, 7:25 pm, blmundie <[email protected]> wrote:
> > This only happens when i use render :super in list.html.erb. Does
> > anyone have an idea?
> >
> > On Sep 21, 6:57 pm, blmundie <[email protected]> wrote:
> > > If i set the template to render a partial that render :super I get
> > > past the above error. It then gives me a new error. I get is
> > > ActionView::Template::Error (undefined method `map' for
> > > "installations":String):
> > > 18: ")%>
> > > 19:
> > > 20:
> > > 21: <%= render :super %>
> > > actionpack (3.1.0) lib/action_view/lookup_context.rb:129:in
> > > `normalize_name'
> > > actionpack (3.1.0) lib/action_view/lookup_context.rb:114:in
> > > `args_for_lookup'
> > > /home/bryan/.rvm/gems/ruby-head/bundler/gems/
> > > active_scaffold-5c4ae3b25238/lib/active_scaffold/extensions/
> > > action_view_rendering.rb:7:in `block (2 levels) in find_all_templates'
> > >
> > > installations is the name of my model.
> > >
> > > On Sep 21, 4:15 pm, blmundie <[email protected]> wrote:
> > > > I'm getting an error when calling render :super in rails 3.1.
> > > >
> > > > ActionView::Template::Error (You have a nil object when you didn't
> > > > expect it!
> > > > You might have expected an instance of Array.
> > > > The error occurred while evaluating nil.last):
> > > > 19:
> > > > 20:
> > > > 21:
> > > > 22: <%= render :super %>
> > > > /home/bryan/.rvm/gems/ruby-head/bundler/gems/
> > > > active_scaffold-0ce03559d49f/lib/active_scaffold/extensions/
> > > > action_view_rendering.rb:42:in `render_with_active_scaffold'
> > > > app/views/installation_alarms/list.html.erb:22:in
> > > > `_app_views_installation_alarms_list_html_erb__1059381062_93896420'
> > > >
> > > > seems like activescaffold is looking for @_view_stack which is
> > > > nil.https://github.com/activescaffold/active_scaffold/blob/master/li
> > > > b/act... line 42
--
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.