Не найдено ни одного маршрута [GET] "/ static_pages / home" - PullRequest
0 голосов
/ 13 сентября 2018

Я новичок.У меня проблемы, потому что я не могу устранить ошибку.

сообщение об ошибке

Не найдено ни одного маршрута [GET] "/ static_pages / home"

Rails.root: / home / ec2-пользователь / environment / sample_app

Трассировка приложения |Framework Trace |Полная трассировка

Helper    HTTP Verb    Path    Controller#Action 
root_path    GET    /    static_pages#home
help_path    GET    /help(.:format)    static_pages#help
about_path    GET    /about(.:format)    static_pages#about
contact_path    GET    /contact(.:format)    static_pages#contact

sample_app / config / rout.rb

Rails.application.routes.draw do
 root 'static_pages#home'
 get  '/help',    to: 'static_pages#help'
 get  '/about',   to: 'static_pages#about'
 get  '/contact', to: 'static_pages#contact'
end

layout / application.html.erb

<!DOCTYPE html>
<html>
<head>
<title><%= full_title(yield(:title)) %></title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag    'application', media: 'all',
'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application',
'data-turbolinks-track': 'reload' %>
<%= render 'layouts/shim' %>
</head>
<body>
<%= render 'layouts/header' %>
<div class="container">
<%= yield %>
<%= render 'layouts/footer' %>
</div>
</body>
</html>

layout / home.html.erb

<div class="center jumbotron">
<h1>Welcome to the Sample App</h1>

<h2>
This is the home page for the
<a href="https://railstutorial.jp/">Ruby on Rails Tutorial</a>
sample application.
</h2>

<%= link_to "Sign up now!", '#', class: "btn btn-lg btn-primary" %>
</div>

<%= link_to image_tag("rails.png", alt: "Rails logo"),
'http://rubyonrails.org/' %>

1 Ответ

0 голосов
/ 13 сентября 2018

Судя по вашему сообщению, файл шаблона home.html.erb находится не в том месте. Внутри app/views должна быть папка с именем static_pages. Так что внутри app/views/static_pages/ находится ваш файл home.html.erb. Ваш код говорит, что он находится внутри папки layouts. Переместите его, и он будет работать.

Так, в частности, либо создайте папку static_pages (если она не существует), либо переместите ваш файл home.html.erb в папку app/views/static_pages/.

Just and FYI, если ваши другие представления (контакт, информация и т. Д.) Находятся в папке layout, переместите их также в static_pages. Но оставьте там файл макета.

Поскольку вы новичок, я объясню это немного подробнее. Когда вы устанавливаете свои маршруты, вы указываете рельсам, где искать файлы. Поэтому, когда вы пишете что-то вроде get '/help', to: 'static_pages#help, то, что вы говорите rails, это когда URL-адрес /help просматривается, и файл help.html.erb находится в папке static_pages, и он знает, как заглянуть в папку app/views по конфигурации. Если вы хотите сохранить home.html.erb там, где он есть, вы можете просто изменить маршруты на root 'layouts#home', и это должно сработать, но так как файл представления не является файлом макета, который не будет лучшим решением. Надеюсь, это поможет.

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