2013-01-08 67 views
0

嗨,我試圖改變我的路線從軌道二期工程,以配合軌道3.語法我將如何改變這樣的:變化的鋼軌2路由到Rails 3個路由

map.connect "/stylesheets/:action.css", 
      :controller => "stylesheets", 
      :format => "css" 

從而使:action可以與來自樣式表控制器的動作相匹配? 會是這樣的嗎?

match 'stylesheets/:action.css', :to => "stylesheets#{:action}"

此外,究竟是什麼在軌道3路由:format語法?

回答

1

你」幾乎在那裏與您的解決方案。您必須更改的唯一方法是您在:to值中參考:action的方式。

match 'stylesheets/:action.css', :to => 'stylesheets#:action', :format => :css 

正如你所看到的,對於:format語法沒有改變。

+0

如果我在'match'stylesheets /:action.css''中的樣式表前面有一個'/',會影響嗎?像'match'/ stylesheets /:action.css'' – Edmund

+0

據我所知,它沒有任何區別。 –

0

我認爲這將是水木清華這樣的:

match 'stylesheets/:action', :controller => :stylesheets, :defaults => { :format => :css } 

,或者你可以約束你的路線的.css格式使用:constraints => { :format => 'json' }

我建議你讀通過http://guides.rubyonrails.org/routing.html

+0

所以我不需要':to =>'? – Edmund

+0

是的:)你最好試試看。 – makaroni4

+0

@Edmund你需要在這種情況下指定控制器,看看代碼。 – makaroni4