开发者

namespaces and rails routes

I have a routing like that:

  namespace :folio do
    resources :portfolios do
      resources :portfolio_items do
        resources :images
      end
    end
  end

Now please don´t flame me because of the deep stacking. This is a mongo db persisted tree like object and those levels are all persisted in the root object.

What puzzles me is the fact that the generated routings read something like

folio_portfolio_portfolio_item

But when I ask for a url from urlhelper

url_for [@portfolio, @portfolio_item]

I get a nice exception telling me

undefined method `hash_for_folio_portfolio_folio_portfolio_item_path' for #<Module:0x0000000492fc30>

See the second "folio" in there? Any idea how I can get rid of that? Providing an :url => is not an option, unfortunately, because that would triplicate my form views and before that I'd rather ditch the namespace altogether. But unwillingly so: this is a rails engine and I would want to avoid clashes.

So, in other words...

I want

= form_for [@portfolio, @portfolio_item] do |form|

to "just" work :). Is this too much to ask?

Observation a routing like that brings me a bit forward:

resou开发者_Python百科rces :folio_portfolio_items, :controller=>Folio::PortfolioItemsController do

while ugly as hell it generates good urls. Problem is, when I want to to visit one of them I get

ActionController::RoutingError (uninitialized constant Folio::Folio):

Whatever this means...

As a sidenote I think it is very odd that this happens at all. I think my mapping controllers to domains is the expected one...

I created a sample app that illustrates this on https://github.com/janlimpens/testroutes

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜