我们的网站应该允许显示与给定的网址有关的不同内容..就像在wordpress中的多站点,我们有一个安装和根据url提供内容。Rails路由请求routes.rb动态路由
由于需要以正确的语言显示路线,我想使用“动态路线”方式来提供正确的内容。我的问题是,现在我没有找到一个方法如何在routes.rb中服务正确的路由,如果它们是动态的。
我如何“访问”或“关” 请求对象到的routes.rb文件
F.E.内的任何方法这样
的routes.rb
Frontend::Application.routes.draw do
DynamicRouter.load request
end
应用程序/模型/ dynamic_router.rb
class DynamicRouter
def self.load request
current_site = Site.find_by_host(request.host)
Frontend::Application.routes.draw do
current_site.routes do |route|
get "#{route.match}", to: "#{route.to}"
end
end
end
end
这并不工作,因为请求在routes.rb中
所以,基本上,你要支持所有的路线再次
抓住它的代码? –
我想有每个网站的动态路线.. f.e.如果对于我们的某个网站,我想要调用/ category /:id,对于另一个网站,应该是/ category /:slug它应该能够做到这一点 如果我只是将请求对象从routes.rb传递到模型方法,我已经知道我可以怎样做其余 – Mik
/category /:id和/ category /:slug是相同的路线。唯一的区别是,第一个动态部分将被存储在params [:id]中,第二个是params [:slug] –