Нужна помощь в создании новой страницы на моем рубиновом сайте - PullRequest
0 голосов
/ 13 июня 2019

Я опубликовал это некоторое время назад, но перепробовал все и до сих пор не могу создать новую страницу на моем сайте.

Поправьте меня, если я ошибаюсь, но 3 шага для создания нового маршрута / страницы с помощью ruby:

  1. Добавить пустое действие функции / контроллера в app/controllers/pages_controller:def "page name" end
  2. Добавьте соответствующий файл просмотра: например: touch app/views/pages/page_name.html.erb
  3. Затем добавьте 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 страницах, поэтому я хочу быть уверен, что могу сделать все правильно

Пожалуйста, дайте мне знать, если здесь может быть какая-либо другая локация кода, и я предоставлю любой код.

1 Ответ

0 голосов
/ 13 июня 2019

Я думаю, что ваша страница должна быть в views / pages / public_speaking.html.erb. Сначала я создам контроллер с инструментами rails:

➜ rails g controller Pages home about offerings public_speaking
Running via Spring preloader in process 31236
      create  app/controllers/pages_controller.rb
       route  get 'pages/home'
get 'pages/about'
get 'pages/offerings'
get 'pages/public_speaking'
      invoke  erb
      create    app/views/pages
      create    app/views/pages/home.html.erb
      create    app/views/pages/about.html.erb
      create    app/views/pages/offerings.html.erb
      create    app/views/pages/public_speaking.html.erb
      invoke  test_unit
      create    test/controllers/pages_controller_test.rb
      invoke  helper
      create    app/helpers/pages_helper.rb
      invoke    test_unit
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/pages.coffee
      invoke    scss
      create      app/assets/stylesheets/pages.scss

Он создает все, что вам нужно, затемперейдите на app/views/pages, и вы увидите все сгенерированные шаблоны html.erb, затем внутри шаблона напишите статическую http-страницу:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8"/>
    <title>Public Speaking</title>
  </head>
  <body>
    <h1>This is my page</h1>
    <p>I thinks that this should work!!</p>
  </body>
</html>

Затем запустите приложение rails

rails server -p 5000

и перейдите к http://localhost:5000/pages/public_speaking.html,, там будет ваша статическая страница

sample web page

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...