我在确定如何在rails 4中路由静态页面时遇到了一些困难。我创建了一个名为PagesController
的控制器,因此我还有一个名为pages
的视图文件夹和oakville.html。 erb文件。
我的控制器看起来像这样:
class PagesController < ApplicationController
def oakville
end
end
我的路线文件如下所示:
get "oakville", :to => "pages#oakville"
我假设我应该可以通过访问localhost:3000 / oakville来访问此页面?
感谢您的帮助!感谢
答案 0 :(得分:1)
是的,但您需要为oakville添加控制器操作
class PagesController < ApplicationController
def oakville
end
end
此外,您需要创建oakville.html.erb
并将其放入views/pages
目录
答案 1 :(得分:0)
您展示的路线以及您展示的动作完全不相关。
如果您想将http://www.example.com/oakville
之类的网址路由到our_mission
控制器上名为Pages
的操作,则路由如下所示:
get 'oakville' => 'pages#our_mission'
您所写的内容表明您希望存在名为oakville
的操作,并且根据您提供的代码,它不会。
答案 2 :(得分:0)
控制器中的方法称为操作,对于您希望能够导航到的每个静态页面,您将需要相应的控制器操作。当一个人(或链接)导航到yoursite/oakville
时,您的路线文件需要知道要对该网址的oakville分支执行哪个控制器操作。
在您显示的路线get "oakville", :to => "pages#oakville"
中,您要求控制器呈现oakville
操作。但是控制器中没有oakville
个动作。添加一个并解决问题:
class PagesController < ApplicationController
def our_mission
end
def oakville
end
end