RubyOnRailsでformatルーティングを無効にする方法

2013-05-31T00:00:00+00:00 Ruby Rails

App::Application.routes.draw do
  resources :entry do
    match "search/:query", :action => :search, :on => :collection
  end
end

みたいなルーティング定義をすると

  • /entry/search/:query(.:format) entry#search

なルーティング定義になる。だけどこの:formatは要らんって思った場合どうすればいいのかって調べてみたら、:format => falseを渡せば良いらしい

match "search/:query", :action => :search, :on => :collection, :format => false

rake routesすると

  • /entry/search/:query entry#search

みたいに出力される。respond_toによってはブラウザから普通にURLアクセスしてもアクセス出来なくなるかと

参考: http://stackoverflow.com/questions/4579652/disable-format-routes-in-rails3

余談

resources :entry, :format => false do
end

みたいにやっても良い模様。この場合、この:entryが参照するアクションにformatを指定する事ができなくなり、respond_toで指定されているフォーマット以外でアクセスするとHTTP 406エラーになる模様

Android ViewPagerIndicatorを使ってみた gradleで依存性ライブラリのパスを取得する方法