В моем приложении я хотел бы создать статические страницы с пространством имен под "!"(восклицательный знак).Например:
/!/about
/!/faq
В настоящее время он работает с использованием префикса pages
в моем файле routes.rb
:
# config/routes.rb
get 'pages(/:action)' => 'pages', :as => :page
Это прекрасно работает и генерирует правильные URL,и т.д. Однако, если я заменим pages
на !
, маршруты потерпят неудачу:
# config/routes.rb
get '!(/:action)'...
Вот вывод rake routes
:
pages GET /!(.:format) {:controller=>"pages", :action=>"index"}
page GET /!/:action(.:format) {:controller=>"pages"}
Как вы можете видеть,Rails генерирует маршруты.Однако, когда я пытаюсь использовать любой из этих именованных маршрутов в моих представлениях, я получаю ошибку маршрутизации:
No route matches {:controller => "pages", :action => "about"}
Как ни странно, если я использую любой другой символ (например, @
), маршруты работают должным образом,Почему я не могу использовать !
восклицательный знак в моих маршрутах :(. Если я отправляю сообщение о проблеме на github?
PS, это также не дает результатов, если я указываю маршрут вручную {:controller => :pages, :action => :about}
с той же ошибкой.
PSS маршруты действительно работают, если при прямом посещении (/!/about
) отображается правильная страница. Помощники по URL просто не позволят ему создать ссылку: (