Rails default_url_options for actioncontroller 使用 .html 自动格式化所有 url/路径

发布于 2024-08-02 02:49:00 字数 451 浏览 5 评论 0原文

我们的要求之一是所有网址都以 .html 结尾 我们已经重写了 default_url_options 方法以将格式添加到选项中

def default_url_options(options={})
  options.merge(:format => 'html')
end

这在大多数情况下都非常有效...... 但它会导致以下路线出现问题:

map.home '/', :controller => 'home'
map.root :controller => 'home'

它会导致这些路线返回:

domain.com/?format=html

我需要找到一种方法来对这些路线进行例外处理,这是否可能,或者是否有人知道更明智的方法来做到这一点。

One of our requirements was that all our url's ended with .html
We've overridden the default_url_options method to add the format to the options

def default_url_options(options={})
  options.merge(:format => 'html')
end

This works great in the most part...
but it causes issue with the following routes:

map.home '/', :controller => 'home'
map.root :controller => 'home'

it causes these routes to return:

domain.com/?format=html

I need to find a way to make an exception to these routes, is this possible or does anyone know a smarter way to do this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

温柔嚣张 2024-08-09 02:49:00

好吧,这使它可以与 haml 一起使用...(erb 未经测试)

map.home '/', :controller => 'home', :format => 'html'

Well this make it work with haml... (erb untested)

map.home '/', :controller => 'home', :format => 'html'
旧夏天 2024-08-09 02:49:00

在快速测试中这似乎对我有用。

map.home '/', :controller => 'home', :format => ''

This seemed to work for me in a quick test.

map.home '/', :controller => 'home', :format => ''
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文