没有路线匹配[GET]" staticpage.html"

时间:2017-02-11 15:23:06

标签: ruby-on-rails routing static-pages

我正在尝试设置一个新的静态和以后的动态页面。

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]&#34; /depages.html"

如果我只是localhost:3000 index.html我的join工作得非常好,但我无法为我的生活添加这个新页面以便稍后链接到它。

有人可以告诉我,我做错了吗?

1 个答案:

答案 0 :(得分:0)

您可以使用

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

您还需要修改DetailPagesController的名称,它应该是detail_pages_controller.rb。每个单词都用_分隔,称为蛇壳。

您还需要一个位于app/views/detail_pages/show.html.erb

的相应视图