我如何访问带有.html后缀的网址

时间:2010-01-26 07:27:16

标签: ruby-on-rails url rest

我的rails版本 2.3.5 (2.3 +)

如何访问带有.html后缀的网址? 就像localhost:3000/welcome.html一样(欢迎是控制者)。

当我访问上面的网址时,我收到了路由错误。但是如果网址格式为这样的网址,则会有效:

localhost:3000/welcome?format=html

在routes.rb中:

ActionController::Routing::Routes.draw do |map|
  map.root :controller => "welcome"
  map.resources :users
  map.resource :session

  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end

但是我发现localhost:3000/users.html有效。

2 个答案:

答案 0 :(得分:1)

使用此路线连接到控制器:

map.connect "welcome.html", :controller => :welcome, :action => :index

是否.html与路由无关,它就像连接到任何其他控制器的任何其他路径一样。因此,无需为此修改控制器 使用format=html会产生一个参数,因此控制器可以返回特定类型的结果,根据您的问题,这不是您想要的结果。

根据您的信息,在使用.html方法创建路线时,会自动执行此操作(允许路径中的map.resources)。因为它适用于您的示例中的用户。

答案 1 :(得分:1)

你可以试试这个:

map.connect ':controller.:format', :action => :index