如何正确定义我的rails应用程序的路由?

时间:2011-09-20 09:12:09

标签: ruby-on-rails routes

我关注this tutorial,首先config/routes.rb文件包含以下内容:

SampleApp::Application.routes.draw do

  get "pages/home"

  get "pages/contact"

  get "pages/about"

  get "pages/help" 

...

现在在教程中它声明它包含这些

SampleApp::Application.routes.draw do
  match '/contact', :to => 'pages#contact'
  match '/about',   :to => 'pages#about'
  match '/help',    :to => 'pages#help'
  .
  .
  .
end

我使用了上述内容,但它似乎不起作用。什么是正确的?

2 个答案:

答案 0 :(得分:1)

match和get都是有效的路由定义。我建议使用get。

get "/home" => "pages#home"

这将把uri / home路由到控制器Pages,行动回家 但仅限于GET请求。

你可以做,例如:

post "/home" => "pages#create_home"

如果您使用匹配:

match "/home" => "pages#home"

这会将uri / home路由到控制器Pages,并将操作置于主页。但对于所有 HTTP动词,不仅仅是GET。

查看导轨指南:routing applications

答案 1 :(得分:0)

两者都是正确有效的。阅读this guide了解详情。也许,您尝试访问不再有效的'/pages/contact',您只需'/contact'访问该页面即可。