當你需要加入乙個或多個動作至乙個 restful 資源時(你真的需要嗎?),使用 member and collection 路由。
# 差get 'subscriptions/:id/unsubscribe'
resources :subscriptions
# 好resources :subscriptions do
get 'unsubscribe', on: :member
end# 差
get 'photos/search'
resources :photos
# 好resources :photos do
get 'search', on: :collection
end 若你需要定義多個 member/collection 路由時,使用替代的區塊語法(block syntax)。
resources :subscriptions do
member do
get 'unsubscribe'
# 更多路由
endend
resources :photos do
collection do
get 'search'
# 更多路由
endend
; 使用巢狀路由(nested routes)來更佳地程式設計客棧表達與 activerecord 模型的關係。
class post < activerecord::base
has_many :comments
endclass comments < activerecord::base
belongs_to :post
end# routes.rb
resourc程式設計客棧es :posts do
resources :comments
end使用命名空間路由來群組相關的行為。
namespace :admin do
# directs /admin/products/* to admin::pwww.cppcns.comroductscontroller
# (app/controllers/admin/products_controller.rb)
resources :products
end不要在控制器裡使用留給後人般的瘋狂路由(legacy wild controller route)。這種路由會讓每個控制器的動作透過 get 請求訪問。
# 非常差
match ':controller(/:action(/:id(.:format)))'
本文標題: 關於ruby on rails路由配置的一些建議
本文位址: /jiaoben/ruby/129170.html
初學Ruby On Rails有感
因為看到一些牛人的部落格裡都有了對ruby on rails的認可,感覺主流的思想開始向rails傾斜了,那麼自己也不得不趕緊跟上,想法弄到了一本 應用rails進行敏捷web開發 之所以選擇它是因為它有rails,有ruby語法的講解還有敏捷一詞.這麼多讓我感興趣的東西集合到一起,我認定這會是一本...
Ruby on Rails版本公升級
公升級rails版本和gem版本時,先 gem update rails gem update 然後它會出現mysql的驅動錯誤的提示如下 問題 the bundled mysql.rb driver has been removed from rails 2.2.please install th...
Ruby on Rails 安裝手記
安裝ruby 從 http www.ruby lang.org en 新增環境變數 ruby 1.8.2 bin 到 path 執行 ruby v 顯示版本號,表示安裝成功。安裝rails 1 遠端安裝 執行 gem install rails include dependencies,安裝rail...