vierundsechzig-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org
2012-Jul-10 06:19 UTC
Routing&Engines: fallback on hosting-routes, non-prefixed links?
I''m currently trying to convert an existing non-engine-plugin (for redmine) into an engine: Here I ran into some routing issues: a controller in the plugin uses a layout from the hosting application, the hosting application now tries to render links inside this layout within the context of the plugin''s controller, which fails, as the plugin does not define them, only the hosting application does. the edgeguide on routes( http://edgeguides.rubyonrails.org/engines.html#routes) says, qualifying the main.app will solve this issue: <pre> link_to "Home", main_app.root_path </pre> however, I cannot/do not want to rewrite *all* the links in the hosting application: Is there a way to have rails fall back on the links of the hosting-application, when a route is not found in the plugin? A somewhat similar problem happens, when I use link_to with an url like: <pre> link_to "My Account", {:controller => "my",:action => :account} </pre> which works fine, when called from the hosting-application(as the my-controller exists there, but get''s prefixed with the plugin''s namespace, when it is called from within a controller inside the plugin, which gives a: <pre> ActionController::RoutingError (No route matches {:controller=>"redmine_config/my", :action=>"account"}): </pre> as the plugin does not define the my-controller. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/MM1fRQ30_7YJ. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US.
vierundsechzig-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org
2012-Jul-12 09:58 UTC
Re: Routing&Engines: fallback on hosting-routes, non-prefixed links?
figured it out: the solution here is to - remove the isolate_namespace from the engine: this allows access to the routes/route-helpers of the hosting app. - do not namespace the controller(app/my_controller instead of app/my_plugin/my_controller) you are calling the layout from: otherwise, this namespace gets prefixed Am Dienstag, 10. Juli 2012 08:19:52 UTC+2 schrieb vierund...-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org:> > I''m currently trying to convert an existing non-engine-plugin (for > redmine) into an engine: Here I ran into some routing issues: a controller > in the plugin uses a layout from the hosting application, the hosting > application now tries to render links inside this layout within the context > of the plugin''s controller, which fails, as the plugin does not define > them, only the hosting application does. > > the edgeguide on routes( > http://edgeguides.rubyonrails.org/engines.html#routes) says, qualifying > the main.app will solve this issue: > > <pre> > link_to "Home", main_app.root_path > </pre> > > however, I cannot/do not want to rewrite *all* the links in the hosting > application: Is there a way to have rails fall back on the links of the > hosting-application, when a route is not found in the plugin? > > A somewhat similar problem happens, when I use link_to with an url like: > > <pre> > link_to "My Account", {:controller => "my",:action => :account} > </pre> > > which works fine, when called from the hosting-application(as the > my-controller exists there, but get''s prefixed with the plugin''s namespace, > when it is called from within a controller inside the plugin, which gives > a: > > <pre> > ActionController::RoutingError (No route matches > {:controller=>"redmine_config/my", :action=>"account"}): > </pre> > > as the plugin does not define the my-controller. >-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/6IgaWmZIirUJ. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US.