Как создать ссылку со страницы приветствия на другую страницу 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

Другие вопросы по тегам