Rails:Resources_Controller / Resource_Controller / Make_Resourceful与Subdomain_Fu

时间:2009-07-13 15:56:18

标签: ruby-on-rails polymorphism

我需要使用其中一个资源丰富的控制器插件 - resources_controller / resource_controller / make_resourceful,因为我有几个多态模型,模型必须根据路由进行初始化/构建。

例如:

www.example.com/groups/1/pages
www.example.com/projects/1/pages

其中page充当多态对象,因为Group和Project都有很多页面。所以我正在考虑使用上述插件之一使pages_controller适应这两个路由。所有这三个插件都可以正常工作,不同之处仅在于识别路由并基于此加载模型。

现在我想使用Subdomain_fu插件添加子域支持,所以上面的例子是:

Site1.example.com/groups/1/pages
Site1.example.com/projects/1/pages

Site2.example.com/groups/2/pages
Site2.example.com/projects/2/pages

在查看所有三个插件时,我看不到任何方式让他们开始从我的子域对象加载资源,因为子域不是路由的一部分。 关于我想以干/宁的方式完成的任何建议?

1 个答案:

答案 0 :(得分:0)

我不知道如何使用resources_controller执行此操作,但我能够使用inherited_resources插件实现相同的功能。

以下是我如何完成它:

在我的应用程序控制器中,我设置了一个before_filter来查找子域:

def set_subdomain @subdomain = Subdomain.find_by_url( request.host ) end

然后在我的控制器中使用继承的资源我使用非常酷的方法设置@subdomain关联"begin_of_association_chain"

protected

def begin_of_association_chain

@subdomain

end

Agile web development有很好的文档。