Я работаю над созданием нового контроллера / маршрута, чтобы разрешить только HTTP GET и HTTP POST.URL должен быть / foo.Естественно, мой маршрут выглядит следующим образом:
map.connect 'foo',
:conditions => { :method => :get },
:controller => "foo",
:action => "display_something"
map.connect 'foo',
:conditions => { :method => :post },
:controller => "foo",
:action => "register_foo"
Часть этого, которую я не понимаю, состоит в том, что переход к http://example/foo/1 вызывает «Неизвестное действие».Я не хочу, чтобы / foo / N был доступен.Это должно дать пользователю 404 вместо броска ActionController :: UnknownAction.
Если присмотреться к объекту RouteSet, мы увидим следующее:
>> rs.recognize_path "/foo/1"
=> {:controller=>"foo", :action=>"1"}
Итак, он находит маршрут, и поэтому у нас нет 404.
Есть ли у меняНужно взломать с method_missing в ApplicationController, чтобы бросить 404 всякий раз, когда метод действия отсутствует?Я просто хочу, чтобы 404 был брошен, если нет никаких действий.В моем приложении / foo / N нет смысла, и я не хочу путать пользователя.