Я опубликовал это некоторое время назад, но перепробовал все и до сих пор не могу создать новую страницу на моем сайте.
Поправьте меня, если я ошибаюсь, но 3 шага для создания нового маршрута / страницы с помощью ruby:
- Добавить пустое действие функции / контроллера в
app/controllers/pages_controller
:def "page name" end
- Добавьте соответствующий файл просмотра: например:
touch app/views/pages/page_name.html.erb
- Затем добавьте
get 'page_name', to: 'pages#page_name'
в config/routes.rb
Я пробовал это с 2отдельные имена и ни один из них не приводит к созданию новой страницы / маршрута.Я пропускаю какую-то команду терминала или что-то?Когда я делаю rails routes
, он показывает другие пути, которые я создал, такие как offerings
, но не public_speaking
(я также попытался создать путь test
, выполнив 3 шага, но он также не появился).
Мой код:
Контроллер страниц
class PagesController < ApplicationController
# GET request for / which is our home page
def home
@basic_plan = Plan.find(1)
@pro_plan = Plan.find(2)
end
def about
end
def offerings
end
def public_speaking
end
end
Routes.rb
Затем в routes.rb
Я пытался использовать тот же процесс (Добавлениеget 'public_speaking'
, to: pages#public_speaking
)
Rails.application.routes.draw do
root to: "pages#home"
devise_for :users, controllers: { registrations: 'users/registrations' }
resources :users do
resource :profile
end
get 'about', to: 'pages#about'
resources :contacts, only: [:create]
get 'contact-us', to: 'contacts#new', as: 'new_contact'
get 'offerings', to: 'pages#offerings'
get 'public_speaking', to: 'pages#public_speaking'
end
Просмотр файла
Я также создал файл public_speaking.html.erb
в папке представлений с тем же именем.
Я ожидал, что будет создан новый маршрут (поскольку он работал для offerings
и about
), однако он не работал, и я не уверен, почему.Я буду повторять этот процесс на 5-6 страницах, поэтому я хочу быть уверен, что могу сделать все правильно
Пожалуйста, дайте мне знать, если здесь может быть какая-либо другая локация кода, и я предоставлю любой код.