我需要使用其中一个资源丰富的控制器插件 - 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
在查看所有三个插件时,我看不到任何方式让他们开始从我的子域对象加载资源,因为子域不是路由的一部分。 关于我想以干/宁的方式完成的任何建议?
答案 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有很好的文档。