2011-01-02 3 views

ответ

43

В 3.1.1 по крайней мере вы можете добавить :format => false в конец маршрута.

Найдено здесь: http://guides.rubyonrails.org/routing.html#request-based-constraints в разделе 3.11 Маршрут глобирование

например ..

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

, который позволил бы PARAMS [: страницы], чтобы включить период.

+1

да, гораздо приятнее, чем принятый ответ –

16

http://guides.rubyonrails.org/routing.html#request-based-constraints

Это ограничит ваши маршруты, чтобы принять только формат HTML:

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

Однако, он не будет удалить (.:format) часть из вашего rake routes выхода.

+1

Я знаю, что поздно, но с рельсами 3.2.13 это вызывает запросы, поступающие от завитка, чтобы сделать ошибку 404, и мой сайт был полностью уничтожен из google ... – Intrepidd

4

Если вы хотите довольно URL-адреса, и вам не нравится :format => false вы можете попробовать это:

# :format must match the empty string 
constraints :format => // do 
    resources :monkeys 
end 

Даже при использовании with_options, опция :format => false громоздко, особенно если у вас есть много путей.

10

Вы можете обернуть вас маршруты вокруг сферы (Rails 4):

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

именно то, что я искал, большое спасибо! Btw, работая в Rails 5 тоже. –

Смежные вопросы