В чем разница между использованием символа косой черты и символа фунта (знака решетки) в маршрутизации URL-адресов и рельсов?
Эти работы
get "/static_pages/about"
get 'about', to: 'static_pages#about', as: :about
Это не
get "/static_pages#about"
get 'about', to: 'static_pages/about', as: :about
get 'about', to: '/static_pages#about', as: :about
Какой код управляет этим поведением и в чем его более глубокая причина?
ОТВЕЧАТЬ:
(Два человека ответили на него очень хорошо, и мне было трудно выбрать, какой из них отметить как принятый ответ. Я хочу изложить свое понимание ответа другим способом, который может помочь людям.)
Как только вы используете символ /, строка распознается как строка URL-адреса, добавленная к базовому URL-адресу. Таким образом, символ «#» будет интерпретироваться как часть URL-адреса, а URL-адреса не любят принимать символы «#».
В случае отсутствия символа / первое слово каким-то образом распознается как имя контроллера, за которым следует символ «#» и имя действия.