【问题标题】:Rails route to only indexRails 路由到唯一索引
【发布时间】:2012-12-18 16:48:43
【问题描述】:

这可能是 Rails 中的一个简单路由问题,但我搜索并收到了 Rails 2 而不是 Rails 3 的答案。

我生成了一个脚手架和

resources :users 

其中包括new、edit、show都与index一起路由。

我只想路由到索引并删除新的、编辑、显示等。 我已经删除了 html.erb 文件,但它们仍在路由中。

任何关于我应该如何删除其他路线的建议将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    使用only 选项:

    resources :users, only: [:index]
    

    Reference

    【讨论】:

    • 或者如果你只想添加一个路由到资源,你可以跳过括号,这样写resources :users, only: :index
    【解决方案2】:

    请参阅Rails Routing Guide 的第 4.6 章。

    默认情况下,Rails 会为应用程序中的每个 RESTful 路由创建七个默认操作(索引、显示、新建、创建、编辑、更新和销毁)的路由。您可以使用 :only 和 :except 选项来微调此行为。 :only 选项告诉 Rails 只创建指定的路由:

    resources :photos, :only => [:index, :show]
    

    【讨论】:

    • 如果我在路由中添加resources :photos, :only => [:index, :show],然后点击“/photos/new”,它会路由到带有 id='show' 的照片#show。如何将 :new/:edit 路由路由到 404?请帮忙
    • @waqarmirza 您可以向show 路由添加约束以将/:id 限制为整数
    猜你喜欢
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 2011-06-20
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多