Как я могу связать свою домашнюю страницу с другими страницами? - PullRequest
0 голосов
/ 03 февраля 2019

Я использую Gem 'Devise', чтобы настроить пользователей и администраторов для моей страницы.Я создал страницу входа в систему, которая требует, чтобы пользователь сначала вошел в систему, а затем после успешного входа я хочу перенаправить пользователя на домашнюю страницу модели Категория , которая будет отображать толькосписок категорий товаров.Тем не менее, я не нашел правильный способ сделать это.Это мой файл маршрутов:

Rails.application.routes.draw do
  resources :categories
  root to: 'pages#home'
  devise_for :users
end

А это мой home.html.erb файл на страницах просмотра:

<h1>Login page</h1>
<% if current_user %>
<%= link_to 'Categories', category_path(@category) %>
<%= link_to 'Sign Out', destroy_user_session_path, method:
:delete %>
<% else %>
<%= link_to 'Sign Up', new_user_registration_path %>
<%= link_to 'Sign In', new_user_session_path %>
<% end %>

Я получаю сообщение об ошибке:

 ActionView::Template::Error 
(No route matches {:action=>"show",:controller=>"categories", :id=>nil},
 missing required keys: [:id]):

Как связать файл home.html.erb представления Страница с index.html.erb Категория вид?Заранее благодарим за любую помощь

1 Ответ

0 голосов
/ 03 февраля 2019

Как мне связать файл home.html.erb страницы просмотра с index.html.erb представления категории?

Если вам нужна ссылка для просмотра всех категорий, то почему вы используете помощника для просмотра одной единственной категории, category_path(@category) (и передачи несуществующей@category тоже)?Вместо этого используйте это:

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