2011-01-02 11 views
27

railsルートの。:formatオプションを無効にする方法を教えてください。しかし、それはあなたのrake routes出力から(.:format)一部を削除されません無効:rails3の.formatルート

constraints :format => "html" do 
    resources :posts do 
    resources :comments 
    end 
end 

:私はこれが唯一のhtml形式を受け入れるためにあなたのルートを制約します

答えて

43

3.1.1では、少なくともルートの末尾に:format => falseを追加できます。

はこちらをご覧ください:[:ページ]の期間が含まれるようにセクション3.11ルートの下http://guides.rubyonrails.org/routing.html#request-based-constraints はのparamsができるようになる

例えば

...

match '*pages' => 'pages#show', :format => false 

をglobbingと。

+1

はい、受け入れられた答えよりずっと良かった –

4

あなたはかなりのURLをしたい場合、あなたはあなたがこれを試みる場合があります:format => false好きではない:

でも with_optionsを使用して
# :format must match the empty string 
constraints :format => // do 
    resources :monkeys 
end 

:format => falseオプションを使用すると、ルートの多くを持っている場合は特に、厄介です。

10

あなたはあなたのスコープの周りのルートをラップすることができます(Railsの4):

scope format: false do 
    # your routes here 
end 
+1

まさに私が何を検索していた、ありがとう! Btw、Rails 5でも働いています。 –

関連する問題