Как я могу правильно ссылаться на статическую страницу? - PullRequest
3 голосов
/ 11 июня 2011

Я следил за Railscast при создании и отображении статических страниц с использованием модели страниц, и мой код выглядит следующим образом:

Модель страниц

имеет поля имени, постоянная ссылка и описание.

Маршруты:

get "log_in" => "sessions#new", :as => "log_in"
get "log_out" => "sessions#destroy", :as => "log_out"
get "sign_up" => "users#new", :as => "sign_up"
root :to => "users#new"

resources :pages

match ':permalink', :controller => 'pages', :action => 'show'

_footer.html.erb

<div class="footer">
  <div class="footer_container">
    <%= link_to 'About Us', root_path('about') %>
  </div>
</div>

собирается/ localhost: 3000 / about корректно отображает страницу about, но ссылка в нижнем колонтитуле хочет перейти на /localhost:3000/.about и фактически ссылается на страницу регистрации новой пользовательской страницы.

Как я могу получитьмоя ссылка для направления на / о и отображения страницы?

Спасибо за любую помощь, она очень ценится!

1 Ответ

3 голосов
/ 11 июня 2011

root_path всегда приведет вас к пользователям # new, потому что это то, что вы указали в своем файле rout.rb. Что вы можете сделать, так это назвать свой последний маршрут с ключом: as, например:

match ':permalink', :controller => 'pages', :action => 'show', :as => 'my_page'

Тогда, по вашему мнению, вы сможете сделать что-то вроде этого:

<%= link_to 'About Us', my_page_path('about') %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...