|
There was some problems with the approach in the previous commits.
- render_collection (render @sidebar_modules in our case) requires
that all objects return the same partial path. Ours may not do that,
so we wrote our own `render_sidebar_modules`-helper.
- The way render_partial finds the correct path to the partial is
to append what's returned by to_partial_path with whatever root
the parent view is in. That would require duplication of the partials
under all the different engines namespaces. Our `render_sidebar_modules`
does it differently, and just looks up the partial according to the
root namespace. This means the sidebar_module code can move back under
the root application so we don't mess up the refinery namespaces.
- Finally found the proper way to link to a blog_post so that it
works from all namespaces. The correct way is:
refinery.blog_post_path(post)
This works in views (and presumably helpers,) but not in controllers
which is why we struggled with it before.
|