在Rails中路由静态页面

时间:2014-10-07 01:21:02

标签: ruby-on-rails

我在确定如何在rails 4中路由静态页面时遇到了一些困难。我创建了一个名为PagesController的控制器,因此我还有一个名为pages的视图文件夹和oakville.html。 erb文件。

我的控制器看起来像这样:

class PagesController < ApplicationController

    def oakville
    end

end

我的路线文件如下所示:

get "oakville", :to => "pages#oakville"

我假设我应该可以通过访问localhost:3000 / oakville来访问此页面?

感谢您的帮助!感谢

3 个答案:

答案 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