I've submitted a pull request for this fix.
On Thu, Jan 19, 2012 at 12:42 PM, Nick Rogers <[email protected]> wrote:
> The problem appears to be when calling active_scaffold_config_for() on the
> controller name, which for me is a namespaced path, as if it is just the
> model name.
>
> This change fixes it for me:
> diff --git a/lib/active_scaffold/extensions/action_view_rendering.rb
> b/lib/active_scaffold/extensions/action_view_rendering.rb
> index 12e3145..2588946 100644
> --- a/lib/active_scaffold/extensions/action_view_rendering.rb
> +++ b/lib/active_scaffold/extensions/action_view_rendering.rb
> @@ -74,8 +74,11 @@ module ActionView::Helpers #:nodoc:
> else
> content_tag(:div, :id => id, :class =>
> 'active-scaffold-component') do
> url = url_for(url_options)
> + # parse the ActiveRecord model name from the controller path,
> which
> + # might be a namespaced controller (e.g., 'admin/admins')
> + model = remote_controller.to_s.sub(/.*\//, '').singularize
> content_tag(:div, :class => 'active-scaffold-header') do
> - content_tag :h2, link_to(args.first[:label] ||
> active_scaffold_config_for(remote_controller.to_s.singularize).list.label,
> url, :remote => true)
> + content_tag :h2, link_to(args.first[:label] ||
> active_scaffold_config_for(model).list.label, url, :remote => true)
> end <<
> if ActiveScaffold.js_framework == :prototype
> javascript_tag("new Ajax.Updater('#{id}', '#{url}',
> {method: 'get', evalScripts: true});")
>
> On Thu, Jan 19, 2012 at 12:10 PM, Nick Rogers <[email protected]> wrote:
>
>>
>> <%= render :active_scaffold => 'admin/scaffolds/admins' %>
>>
>> Controller/action is Admin::MenuController#administrators
>> class Admin::MenuController < AdminController
>>
>> Scaffold controller is:
>> class Admin::Scaffolds::AdminsController < Admin::ScaffoldsController
>>
>>
>> On Mon, Jan 16, 2012 at 4:38 AM, Sergio Cambra <[email protected]>wrote:
>>
>>> Can you post the render :active_scaffold line? what controller and view
>>> are you
>>> rendering from?
>>>
>>> On Jueves, 12 de enero de 2012 13:09:14 Nick Rogers escribió:
>>> > Using rails 3.1.3 and official active_scaffold master branch (as of
>>> today).
>>> >
>>> > If I try to render an inline scaffold I get the following exception. I
>>> > think its because I'm using namespaced controllers and do not have
>>> > render_component installed (trying to use new AJAX feature for
>>> rendering
>>> > inline scaffolds).
>>> >
>>> > uninitialized constant Admin::Scaffolds::Admin
>>> >
>>> > My controller class is Admin::Scaffolds:AdminsController and my model
>>> name
>>> > is Admin.
>>> >
>>> > If I install render_component_vho it works.
>>> >
>>> > Thanks.
>>> >
>>> > Here is the full trace:
>>> >
>>> > activesupport (3.1.3) lib/active_support/inflector/methods.rb:113:in
>>> > `constantize'
>>> > activesupport (3.1.3) lib/active_support/inflector/methods.rb:112:in
>>> `each'
>>> > activesupport (3.1.3) lib/active_support/inflector/methods.rb:112:in
>>> > `constantize'
>>> > activesupport (3.1.3)
>>> > lib/active_support/core_ext/string/inflections.rb:43:in `constantize'
>>> > vendor/git/active_scaffold/lib/active_scaffold/config/core.rb:193:in
>>> `model'
>>> > vendor/git/active_scaffold/lib/active_scaffold/config/core.rb:116:in
>>> > `initialize_without_date_picker'
>>> >
>>> vendor/git/active_scaffold/lib/active_scaffold/bridges/date_picker/ext.rb:13
>>> > :in `initialize'
>>> > vendor/git/active_scaffold/lib/active_scaffold.rb:321:in `new'
>>> > vendor/git/active_scaffold/lib/active_scaffold.rb:321:in
>>> > `active_scaffold_config_for'
>>> >
>>> vendor/git/active_scaffold/lib/active_scaffold/helpers/view_helpers.rb:25:in
>>> > `active_scaffold_config_for'
>>> >
>>> vendor/git/active_scaffold/lib/active_scaffold/extensions/action_view_render
>>> > ing.rb:78:in `render_without_update'
>>> > actionpack (3.1.3) lib/action_view/helpers/capture_helper.rb:40:in
>>> `capture'
>>> > actionpack (3.1.3) lib/action_view/helpers/capture_helper.rb:187:in
>>> > `with_output_buffer'
>>> > actionpack (3.1.3) lib/action_view/helpers/capture_helper.rb:40:in
>>> `capture'
>>> > actionpack (3.1.3) lib/action_view/helpers/tag_helper.rb:91:in
>>> > `content_tag'
>>> >
>>> vendor/git/active_scaffold/lib/active_scaffold/extensions/action_view_rende
>>> > ring.rb:77:in `render_without_update'
>>> > actionpack (3.1.3) lib/action_view/helpers/capture_helper.rb:40:in
>>> `capture'
>>> > actionpack (3.1.3) lib/action_view/helpers/capture_helper.rb:187:in
>>> > `with_output_buffer'
>>> > actionpack (3.1.3) lib/action_view/helpers/capture_helper.rb:40:in
>>> `capture'
>>> > actionpack (3.1.3) lib/action_view/helpers/tag_helper.rb:91:in
>>> > `content_tag'
>>> >
>>> vendor/git/active_scaffold/lib/active_scaffold/extensions/action_view_rende
>>> > ring.rb:75:in `render_without_update'
>>> > prototype-rails (3.1.0) lib/prototype-rails/rendering.rb:8:in `render'
>>> > app/views/admin/menu/administrators.html.erb:2:in
>>> > `_app_views_admin_menu_administrators_html_erb___2033623197_2267353400
>>> '
>>> > actionpack (3.1.3) lib/action_view/template.rb:171:in `send'
>>> > actionpack (3.1.3) lib/action_view/template.rb:171:in `render'
>>> > activesupport (3.1.3) lib/active_support/notifications.rb:55:in
>>> `instrument'
>>> > actionpack (3.1.3) lib/action_view/template.rb:169:in `render'
>>> > actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:40:in
>>> > `render_template'
>>> > actionpack (3.1.3) lib/action_view/renderer/abstract_renderer.rb:33:in
>>> > `instrument'
>>> > activesupport (3.1.3) lib/active_support/notifications.rb:53:in
>>> `instrument'
>>> > activesupport (3.1.3)
>>> > lib/active_support/notifications/instrumenter.rb:21:in `instrument'
>>> > activesupport (3.1.3) lib/active_support/notifications.rb:53:in
>>> `instrument'
>>> > actionpack (3.1.3) lib/action_view/renderer/abstract_renderer.rb:33:in
>>> > `instrument'
>>> > actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:39:in
>>> > `render_template'
>>> > actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:47:in
>>> > `render_with_layout'
>>> > actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:38:in
>>> > `render_template'
>>> > actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:12:in
>>> > `render' actionpack (3.1.3)
>>> > lib/action_view/renderer/abstract_renderer.rb:22:in `wrap_formats'
>>> > actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:9:in
>>> > `render' actionpack (3.1.3) lib/action_view/renderer/renderer.rb:36:in
>>> > `render_template' actionpack (3.1.3)
>>> > lib/action_view/renderer/renderer.rb:17:in `render' actionpack (3.1.3)
>>> > lib/abstract_controller/rendering.rb:120:in
>>> > `_render_template'
>>> > actionpack (3.1.3) lib/action_controller/metal/streaming.rb:250:in
>>> > `_render_template'
>>> > actionpack (3.1.3) lib/abstract_controller/rendering.rb:114:in
>>> > `render_to_body' actionpack (3.1.3)
>>> > lib/action_controller/metal/renderers.rb:30:in
>>> > `render_to_body'
>>> > actionpack (3.1.3) lib/action_controller/metal/compatibility.rb:43:in
>>> > `render_to_body'
>>> > actionpack (3.1.3) lib/abstract_controller/rendering.rb:99:in `render'
>>> > actionpack (3.1.3) lib/action_controller/metal/rendering.rb:16:in
>>> `render'
>>> > actionpack (3.1.3)
>>> > lib/action_controller/metal/instrumentation.rb:40:in
>>> > `render_without_active_scaffold'
>>> > activesupport (3.1.3) lib/active_support/core_ext/benchmark.rb:5:in
>>> `ms'
>>> >
>>> /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benc
>>> > hmark.rb:308:in `realtime'
>>> > activesupport (3.1.3) lib/active_support/core_ext/benchmark.rb:5:in
>>> `ms'
>>> > actionpack (3.1.3)
>>> > lib/action_controller/metal/instrumentation.rb:40:in
>>> > `render_without_active_scaffold'
>>> > actionpack (3.1.3)
>>> > lib/action_controller/metal/instrumentation.rb:78:in
>>> > `cleanup_view_runtime'
>>> > activerecord (3.1.3)
>>> > lib/active_record/railties/controller_runtime.rb:24:in
>>> > `cleanup_view_runtime'
>>> > actionpack (3.1.3)
>>> > lib/action_controller/metal/instrumentation.rb:39:in
>>> > `render_without_active_scaffold'
>>> >
>>> vendor/git/active_scaffold/lib/active_scaffold/extensions/action_controller_
>>> > rendering.rb:14:in `render'
>>> > actionpack (3.1.3)
>>> > lib/action_controller/metal/implicit_render.rb:10:in `default_render'
>>> > actionpack (3.1.3) lib/action_controller/metal/implicit_render.rb:4:in
>>> > `send_action'
>>> > actionpack (3.1.3) lib/action_controller/metal/implicit_render.rb:4:in
>>> > `send_action'
>>> > actionpack (3.1.3) lib/abstract_controller/base.rb:167:in
>>> `process_action'
>>> > actionpack (3.1.3) lib/action_controller/metal/rendering.rb:10:in
>>> > `process_action'
>>> > actionpack (3.1.3) lib/abstract_controller/callbacks.rb:18:in
>>> > `process_action' activesupport (3.1.3)
>>> > lib/active_support/callbacks.rb:542:in
>>> > `_run__1636670419__process_action__295984485__callbacks'
>>> > activesupport (3.1.3) lib/active_support/callbacks.rb:386:in `send'
>>> > activesupport (3.1.3) lib/active_support/callbacks.rb:386:in
>>> > `_run_process_action_callbacks'
>>> > activesupport (3.1.3) lib/active_support/callbacks.rb:81:in `send'
>>> > activesupport (3.1.3) lib/active_support/callbacks.rb:81:in
>>> `run_callbacks'
>>> > actionpack (3.1.3) lib/abstract_controller/callbacks.rb:17:in
>>> > `process_action' actionpack (3.1.3)
>>> > lib/action_controller/metal/rescue.rb:17:in `process_action' actionpack
>>> > (3.1.3)
>>> > lib/action_controller/metal/instrumentation.rb:30:in `process_action'
>>> > activesupport (3.1.3) lib/active_support/notifications.rb:53:in
>>> `instrument'
>>> > activesupport (3.1.3)
>>> > lib/active_support/notifications/instrumenter.rb:21:in `instrument'
>>> > activesupport (3.1.3) lib/active_support/notifications.rb:53:in
>>> `instrument'
>>> > actionpack (3.1.3)
>>> > lib/action_controller/metal/instrumentation.rb:29:in `process_action'
>>> > actionpack (3.1.3)
>>> > lib/action_controller/metal/params_wrapper.rb:201:in `process_action'
>>> > activerecord (3.1.3)
>>> > lib/active_record/railties/controller_runtime.rb:18:in
>>> > `process_action'
>>> > actionpack (3.1.3) lib/abstract_controller/base.rb:121:in `process'
>>> > actionpack (3.1.3) lib/abstract_controller/rendering.rb:45:in `process'
>>> > actionpack (3.1.3) lib/action_controller/metal.rb:193:in `dispatch'
>>> > actionpack (3.1.3)
>>> > lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
>>> > actionpack (3.1.3) lib/action_controller/metal.rb:236:in `action'
>>> > actionpack (3.1.3) lib/action_dispatch/routing/route_set.rb:65:in
>>> `call'
>>> > actionpack (3.1.3) lib/action_dispatch/routing/route_set.rb:65:in
>>> `dispatch'
>>> > actionpack (3.1.3) lib/action_dispatch/routing/route_set.rb:29:in
>>> `call'
>>> > rack-mount (0.8.3) lib/rack/mount/route_set.rb:152:in `call'
>>> > rack-mount (0.8.3) lib/rack/mount/code_generation.rb:96:in `recognize'
>>> > rack-mount (0.8.3) lib/rack/mount/code_generation.rb:96:in
>>> `optimized_each'
>>> > rack-mount (0.8.3) lib/rack/mount/code_generation.rb:95:in `recognize'
>>> > rack-mount (0.8.3) lib/rack/mount/route_set.rb:141:in `call'
>>> > actionpack (3.1.3) lib/action_dispatch/routing/route_set.rb:532:in
>>> `call'
>>> > actionpack (3.1.3)
>>> > lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
>>> > rack (1.3.6) lib/rack/etag.rb:23:in `call'
>>> > rack (1.3.6) lib/rack/conditionalget.rb:25:in `call'
>>> > actionpack (3.1.3) lib/action_dispatch/middleware/head.rb:14:in `call'
>>> > actionpack (3.1.3)
>>> lib/action_dispatch/middleware/params_parser.rb:21:in
>>> > `call' actionpack (3.1.3)
>>> lib/action_dispatch/middleware/flash.rb:247:in
>>> > `call' rack (1.3.6) lib/rack/session/abstract/id.rb:195:in `context'
>>> > rack (1.3.6) lib/rack/session/abstract/id.rb:190:in `call'
>>> > actionpack (3.1.3) lib/action_dispatch/middleware/cookies.rb:331:in
>>> `call'
>>> > activerecord (3.1.3) lib/active_record/query_cache.rb:64:in `call'
>>> > activerecord (3.1.3)
>>> >
>>> lib/active_record/connection_adapters/abstract/connection_pool.rb:477:in
>>> > `call'
>>> > actionpack (3.1.3) lib/action_dispatch/middleware/callbacks.rb:29:in
>>> `call'
>>> > activesupport (3.1.3) lib/active_support/callbacks.rb:392:in
>>> > `_run_call_callbacks'
>>> > activesupport (3.1.3) lib/active_support/callbacks.rb:81:in `send'
>>> > activesupport (3.1.3) lib/active_support/callbacks.rb:81:in
>>> `run_callbacks'
>>> > actionpack (3.1.3) lib/action_dispatch/middleware/callbacks.rb:28:in
>>> `call'
>>> > actionpack (3.1.3) lib/action_dispatch/middleware/reloader.rb:68:in
>>> `call'
>>> > rack (1.3.6) lib/rack/sendfile.rb:101:in `call'
>>> > actionpack (3.1.3) lib/action_dispatch/middleware/remote_ip.rb:48:in
>>> `call'
>>> > actionpack (3.1.3)
>>> > lib/action_dispatch/middleware/show_exceptions.rb:47:in `call'
>>> > railties (3.1.3) lib/rails/rack/logger.rb:13:in `call'
>>> > rack (1.3.6) lib/rack/methodoverride.rb:24:in `call'
>>> > rack (1.3.6) lib/rack/runtime.rb:17:in `call'
>>> > activesupport (3.1.3)
>>> > lib/active_support/cache/strategy/local_cache.rb:72:in `call'
>>> > rack (1.3.6) lib/rack/lock.rb:15:in `call'
>>> > actionpack (3.1.3) lib/action_dispatch/middleware/static.rb:53:in
>>> `call'
>>> > railties (3.1.3) lib/rails/engine.rb:456:in `call'
>>> > rack (1.3.6) lib/rack/content_length.rb:14:in `call'
>>> > railties (3.1.3) lib/rails/rack/log_tailer.rb:14:in `call'
>>> > thin (1.3.1) lib/thin/connection.rb:80:in `pre_process'
>>> > thin (1.3.1) lib/thin/connection.rb:78:in `catch'
>>> > thin (1.3.1) lib/thin/connection.rb:78:in `pre_process'
>>> > thin (1.3.1) lib/thin/connection.rb:53:in `process'
>>> > thin (1.3.1) lib/thin/connection.rb:38:in `receive_data'
>>> > eventmachine (0.12.10) lib/eventmachine.rb:256:in `run_machine'
>>> > eventmachine (0.12.10) lib/eventmachine.rb:256:in `run'
>>> > thin (1.3.1) lib/thin/backends/base.rb:61:in `start'
>>> > thin (1.3.1) lib/thin/server.rb:159:in `start'
>>> > rack (1.3.6) lib/rack/handler/thin.rb:13:in `run'
>>> > rack (1.3.6) lib/rack/server.rb:265:in `start'
>>> > railties (3.1.3) lib/rails/commands/server.rb:70:in `start'
>>> > railties (3.1.3) lib/rails/commands.rb:54
>>> > railties (3.1.3) lib/rails/commands.rb:49:in `tap'
>>> > railties (3.1.3) lib/rails/commands.rb:49
>>> > script/rails:6:in `require'
>>> > script/rails:6
>>>
>>> --
>>> 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.
>>>
>>>
>>
>
--
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.