Как создать ссылку со страницы приветствия на другую страницу ruby
На данный момент содержимое моего nav-bar выглядит так:
<li><%= link_to "Portfolio", projects_path, :class => "header" %></li>
<li><%= link_to "Articles", posts_path, :class => "header" %></li>
<li><%= link_to 'Contact', contact_path, :class => "header" %></li>
Первые две ссылки работают нормально, а последняя - нет. Как правильно отослать? Страница контактов - это простая статическая страница (без проектов или блогов, которые могут быть добавлены).
Это мои маршруты. Рб
Rails.application.routes.draw do
resources :contact
get 'contact/index'
resources :posts
resources :projects
get 'welcome/index'
root 'welcome#index'
end
И это контроллер
class ContactController < ApplicationController
def index
end
end
Если я взгляну на маршруты рейка, я получу это:
contact_index GET /contact(.:format) contact#index
POST /contact(.:format) contact#create
new_contact GET /contact/new(.:format) contact#new
edit_contact GET /contact/:id/edit(.:format) contact#edit
contact GET /contact/:id(.:format) contact#show
PATCH /contact/:id(.:format) contact#update
PUT /contact/:id(.:format) contact#update
DELETE /contact/:id(.:format) contact#destroy
GET /contact/index(.:format) contact#index
Я новичок в ruby и с нетерпением жду помощи. Спасибо уже заранее!
2 ответа
Решение
Замените свою третью строку следующей строкой:
<li><%= link_to 'Contact', contact_index_path, class: "header" %></li>
Избавляться от get 'contact/index'
из вашего файла маршрутов и попробуйте.
У вас уже есть путь для индекса contact
когда вы добавили resources :contact