2015-10-22 2 views
0

Пользователю предоставляется с контактной странице, где он может добавить новый контакт , нажав на кнопку Создать (Затем приложение берет его на новой странице, чтобы добавить заголовок контакта)NoMethodError с Ruby-приложение

<%= link_to "Create", new_contact_path %> 

когда я нажимаю создать я получаю следующее сообщение об ошибке:

undefined method `contacts_path' for #<#<Class:0xsomeHEX>:0xsomeHEX> 

выше ошибка исчезает, когда я создаю контроллер так:

rails generate controller contacts 

Также в routes.rb файл указывает на:

resources :contact 

Ниже приведены мои файлы:

  1. contact_controller.rb
  2. contact_helper.rb
  3. _form.html.erb

То, что я хочу, чтобы достичь должен идти новая страница контактов набрав someurl/контакт/новый вместо /контактов/нового

ответ

2

В вашей конфигурации/routes.rb изменить контакты маршрут к этому:

resources :contacts, path: "contact" 

Это дает вам возможность ударить ваши маршруты, используя «контакт» вместо «контакты».

1

переименовань маршруты в resources :contacts

+0

'Нет совпадений маршрута [GET]"/contact "' – kalpetros

+0

Возможно, вам нужно написать 'resoures: about' необходимо больше информации – sts

+0

Извините, что я имел в виду'/contact' – kalpetros

0

Пожалуйста сделайте эти изменения

contacts_controller.rb

class ContactsController < ApplicationController 
    .... 
end 

routes.rb

resources :contacts 

Ваша папка представления должны быть views/contacts

+0

Как я уже сказал в комментарии выше, я выполнил 'rails generate контроллер контакт'. Я хочу достичь, чтобы перейти на страницу контактов, набрав url/contact вместо url/contacts. – kalpetros

+0

переименуйте его и отредактируйте содержание – Prashant4224