2010-01-26 32 views
0

我的Rails的版本是2.3.5 (2.3+)我如何可以訪問網址,以.html後綴

如何我可以訪問網址,以.html後綴? 就像localhost:3000/welcome.html(歡迎是一個控制器)。

我當我訪問的URL路由錯誤above.But它的工作原理如果與格式PARAM像這樣的網址:

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工程。

回答

1

使用該路由連接到控制器:

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

是否有.html用於路由目的並不重要,它就像連接到任何其他控制器的任何其他路徑。所以不需要爲此修改控制器。
使用format=html會產生一個參數,因此控制器可以返回特定類型的結果,這不是您想要的根據您的問題。

根據您的信息,在使用map.resources方法創建路線時,會自動執行此操作(在您的路徑中允許.html)。因爲它在你的例子中爲用戶工作。

+0

也就是說:如果 它不是一個寧靜的資源(如map.resources:用戶),我必須配置命名路由從各類客戶的各種格式要求(電腦,手機等) html,wml等。 now如何通過其後綴(.html,.wml)自動顯示查看頁面,只是寧靜 – qichunren 2010-01-26 10:43:01

+0

你想要寧靜的網址?對於用戶來說,對於索引操作而言,它會像'sers.html'類似,對於顯示和編輯操作,會有'users.html/10'和'users.html/10/edit'。這似乎不正確... – Veger 2010-01-26 22:09:01

1

你可以試試這個:

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