Я следую инструкциям (https://blog.teamtreehouse.com/static-pages-ruby-rails) для рендеринга страницы с использованием маршрутов Rails. Проблема в том, что вместо страницы, которая должна отображаться, я получаю сообщение об ошибке. Я не знаю, что я делаю неправильно, посколькуЕсть буквально только несколько шагов.
Единственное отличие моего кода от учебника тривиально. Я использую Videos
вместо Pages.
В config/routes.rb
:
Rails.application.routes.draw do
# This means that all paths following the pattern:
# /videos/about, /videos/home, /videos/features
# will route here!
get "/videos/:video" => "videos#show"
end
In app/controllers/videos_controller.rb"
:
class VideosController < ApplicationController
def show
render template: "videos/#{params[:page]}"
end
end
Наконец, у меня есть статическая страница, заполненная бредом, хранящаяся в app/views/videos/videos.html.erb
.
Однако, когда я запускаю свойсервер и перейти к 0.0.0.0:3000/videos/
Я получаю следующую ошибку:
No route matches [GET] "/videos"
Rails.root: /home/mightu/Desktop/portal_rails
Когда я пытаюсь 0.0.0.0:3000/videos/pizza
, я получаю:
Missing template /videos with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}. Searched in: * "/home/mightu/Desktop/portal_rails/app/views"
Это говорит мне, что проблема в этой строке:
render template: "videos/#{params[:page]}"
Пожалуйста, помогите thx