Как мне создать новый путь / маршрут в Ruby и затем связать с ним? - PullRequest
0 голосов
/ 07 июня 2019

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

В значительной степени, я хочу добавить новую страницу, а затем добавить ссылку на эту страницу по каплевниз по меню ... но у меня возникают проблемы с тем, чтобы изменения вступили в силу, и новый путь / маршрут появился, когда я выполняю "маршруты рельсов".

Я делал это раньше для страницы "предложений" на страницах # предложений, но, похоже, не могу понять, как повторить тот же процесс

Я начал идти к контроллеру страниц идобавив «def public_speaking» и «end»:

Pages Controller

# 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')

  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', 'pages#public_speaking'
end

Просмотреть файл

Я также создал файл "public_speaking.html.erb" в папке с тем же именем.

Что я делаю неправильно / отсутствует, чтобы создать этот новый путь?Есть какая-нибудь команда для выполнения этой связи или что-то в этом роде?

Я ожидал, что будет создан новый маршрут (так как он работал для "предложений"), однако он не работал, и я не уверен, почему.Я буду повторять этот процесс на 5-6 страницах, поэтому хочу быть уверенным, что могу сделать все правильно

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

я вижу в вашем routes, похоже, ваш код неверен.

Вы должны изменить:

от get 'public_speaking', 'pages#public_speaking'

до get 'public_speaking', to: 'pages#public_speaking'

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

Хан Фам дал правильный ответ. Кажется, вы возитесь со ссылкой.

Согласно Ruby on rails guide, правильный маршрут будет:

get 'public_speaking', to: 'pages#public_speaking'

, где to: ожидает формат controller#action.

И затем вы можете проверить routes, выполнив команду rake routes, и, если ваша часть присутствует там, вы можете использовать ее в своих представлениях, например: link_to('Public Speaking', public_speaking_path) Вы можете прочитать больше о URL здесь . Удачи!

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