如何在rails中添加视图

时间:2013-12-14 09:05:27

标签: ruby-on-rails ruby ruby-on-rails-3 view

我对rails非常陌生,但我已经搜索了很多如何做到这一点,但它似乎并不适合我。我试图为我的模型创建一个名为steppy_steps的新视图,所以我在views目录中创建了一个名为request.html.rb的新文件,将其添加到我的路由中,match '/request' => 'pages#request',也尝试了“steppy_tests / home “,最后添加(def请求,结束)到我的Steppy_Tests_Controller.rb,但是当我检查网址时,它会给我一个error:Couldn't find SteppyTest with id=home

我无法弄清楚该做些什么帮助会很棒!提前谢谢。

1 个答案:

答案 0 :(得分:0)

您应该阅读MVC programming pattern(这是Rails的基础)

要制作view,您需要具备controllermodel方面。我想你已经这样做了,但是为了帮助你理解更多,我将在下面概述:


观点:控制器操作

如果要显示steppy_steps控制器中的视图,则需要先设置控制器操作来处理请求。您通常会使用一个自我命名的控制器(控制器名称steppy_steps),并为此执行各种操作

在您的路线中,您将“捕获”到steppy_steps控制器的请求,如下所示:

#config/routes.rb
resources :steppy_steps

这将创建一组RESTful routes,然后您可以将其转换为您的控制器,如下所示:

#app/controllers/steppy_steps_controller.rb
def index
   #Index code
end

def show
   #Show code
end

这样您就可以创建一个views目录,其中可以包含/views/steppy_steps/show.html.erb/views/steppy_steps/index.html.erb

的观看次数

路线非常重要

您收到错误的原因是您将/home发送到视图

这里的问题是,如果你使用的是具有内置id参数的路由(show动作路由有这个),那么Rails会在之后寻找额外的参数。 URL

要解决这个问题,你必须提供更多的代码,但我也相信你会更好地理解Rails的基础知识


添加路线

您可以添加路线&视野如你所愿

如果您要添加requests路线/视图,我会这样做:

#config/routes.rb
resources :steppy_steps do
  collection do
    get :requests
  end
end

这样您就可以创建/steppy_steps/requests