如何告诉Rails路由不提供特定文件夹?

时间:2015-06-06 02:00:50

标签: ruby-on-rails asset-pipeline rails-routing

我有

get ":site_name/:page_name", to: "public_sites#show"
在routes.rb中

但这会结束捕获生产中的/assets/文件夹,我想避免这种情况。理想情况下,导轨根本不会提供/assets/文件夹。

如何在保留处理任何:site_name但“资产”除外的能力的同时实现这一目标?

或者,还有哪种方法可以快速提供资产?

1 个答案:

答案 0 :(得分:0)

路由接受constraints,因此您应该可以执行此类操作(尚未经过测试):

get ":site_name/:page_name", to: "public_sites#show", constraints: {
  site_name: /^(?!assets$)/i 
}

如果这不起作用,您还可以pass a lambda as your constraint检查是否存在"资产"那里。