2017-02-11 4 views
0

Я пытаюсь настроить новую статическую и более позднюю динамическую страницу.Нет совпадений маршрута [GET] "staticpage.html"

Внутри app/controllers/ Я создал detailpages_controller.rb. Внутри у меня есть:

class DetailPagesController < ApplicationController  
def show 
    render 
end 
end 

Тогда на config/routes.rb у меня есть:

Rails.application.routes.draw do 
    root 'welcome#index' 
    DetailPagesController.action_methods.each do |action| 
    get "/#{action}", to: "detailpages##{action}", as: "#{action}_page" 
    end 
end 

На app/viewes/pages есть detailpages.html.erb файл, который только содержит <h2>Hello World</h2>

Когда я иду http://localhost:3000/detailpages.html я получаю:

Нет совпадений по маршруту [GET] "/ detail pages.html»

если я просто localhost:3000 мои index.html работает прекрасно, но я не могу, за свою жизнь, добавить эту новую страницу, так что я могу позже ссылку на него.

Не мог бы кто-нибудь рассказать мне, что я делаю неправильно?

+0

Почему вы пробегаем по методам действий? – Iceman

+0

Я где-то читал, что умнее, чем добавлять новую строку вручную каждый раз, когда я получаю новое действие. У меня будет несколько, но я не могу это начать. – user6673915

+0

Ну, какова ваша цель с этим контроллером? Если вы просто хотите сопоставить эту статическую страницу с действием show, вы можете сделать 'get 'detailpages.html' => 'detail_pages # show', как:: detail_page' – Iceman

ответ

0

Вы можете отобразить на detailpages.html с

get 'detailpages.html' => 'detail_pages#show', as: :detail_page 

Кроме того, необходимо изменить имя вашего DetailPagesController, он должен быть detail_pages_controller.rb. Каждое слово разделяется _, называемым корпусом змеи.

Вам также потребуется соответствующий вид, помещенный в app/views/detail_pages/show.html.erb

Смежные вопросы