我对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
我无法弄清楚该做些什么帮助会很棒!提前谢谢。
答案 0 :(得分:0)
您应该阅读MVC programming pattern(这是Rails的基础)
要制作view
,您需要具备controller
和model
方面。我想你已经这样做了,但是为了帮助你理解更多,我将在下面概述:
观点:控制器操作
如果要显示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