文章/ 234和文章/索引的Rails路由

时间:2011-02-24 04:27:18

标签: ruby-on-rails

我需要设置以下网址:

/article (article#index)
/articles/1234  ( article#show with id 1234)
/articles/new  (article#new)

我可以使用以下方式定义:

resources :article do
  ???
end

3 个答案:

答案 0 :(得分:1)

听起来你只是在学铁路。我建议生成一个article脚手架。它会为你建立一条这样的路线:

resources :article

您将通过rails

自动为您设置RESTful路由
GET        /articles            index     display a list of all articles
GET        /articles/new        new       return an HTML form for creating a new article
POST       /articles            create    create a new article
GET        /articles/:id        show      display a specific article
GET        /articles/:id/edit   edit      return an HTML form for editing an article
PUT        /articles/:id        update    update a specific article
DELETE     /articles/:id        destroy   delete a specific article

然后,您可以深入了解这一点并了解rails如何做事。

这是官方rails routing guide

答案 1 :(得分:1)

如果我们仔细查看您的问题,您似乎希望索引位于/article而不是默认的Rails REST约定,即/articles

以这种方式对您的路线进行建模没有任何明显的意义,但如果这肯定是您想要做的,那么除了调用resources之外,您还可以再添加一条路线

resources :articles
match '/article', :to => 'articles#index'

答案 2 :(得分:0)

如果您想要这些网址而不需要其他内容,则应将以下内容放在routes.rb

resources :article, :only => [:index, :show, :new]

如果你没有偶然发现the official Rails 3 routing guide,你一定要看看它!