Rails是否有类似polymorphic_url的东西尊重范围?

时间:2012-06-17 17:09:20

标签: ruby-on-rails ruby

我还没有找到一个不涉及非常黑客的解决方案。

问题:我们的rails应用程序使用命名空间来覆盖父控制器和模型的行为(使用STI)。在博客命名法中,它有点像这样:

blog
  posts

admin
  blog <- blog
    posts <- blog::posts
    orders <- blog::posts
namespace2
  blog <- blog
    posts <- blog::posts
    comments <- blog::posts
    awesome_comments <- blog::posts

这是一个更简单的示例,但每个命名空间都会覆盖其子项的验证,行为和STI对象。父对象使用反射为用户提供与其拥有的子对应的按钮。这需要使用polymorphic_url,但是rails有一种非常有趣的方式来处理共享命名空间的嵌套资源

喜欢这个:namespace / blog /:id / namespace / posts, 我想这可以工作......如果你想要一个巨大的网址。

我试过

scope :module => :namespace, :name_prefix => :namespace do
  resources :blog do
    resources :post
    resources :comment
  end
end

但是...... polymorphic_path似乎没有得到这个......它想要:

namespace :namespace
  resources :blog do
    namespace :namespace
      resources :comment
      resources :post
    end
  end
end

这不仅不是DRY,而且似乎我做错了。

是否有像polymorphic_url这样的东西尊重范围?

0 个答案:

没有答案