Condition单数复数区别:rails单数资源还是复数(still life plural)

我有一个搜索路线,我想做奇异的,但是当我指定一个单一的路线,它仍然使多个控制器路由,这是如何应该是?

resource :search

给了我

 search POST        /search(.:format)        {:action=>"create", :controller=>"searches"}
 new_search  GET    /search/new(.:format)    {:action=>"new", :controller=>"searches"}
 edit_search GET    /search/edit(.:format)   {:action=>"edit", :controller=>"searches"}
             GET    /search(.:format)        {:action=>"show", :controller=>"searches"}
             PUT    /search(.:format)        {:action=>"update", :controller=>"searches"}
             DELETE /search(.:format)        {:action=>"destroy", :controller=>"searches"}

复数控制器“搜索”

我只有一条路线真的...创建一个搜索:

所以我做了:match "search" => "search#create"

我只是想知道未来,如果我仍然应该保持控制器复数?Rails 3.0.9

44

是的,这就是它应该是。从 Rails 指南路由报价:

因为您可能希望对单个路由(/ account)和多个路由(/ accounts / 45)使用相同的控制器,所以单个资源映射到多个控制器。

http://edgeguides.rubyonrails.org/routing.html#singular-resources
26

您可以通过将“搜索”的复数设置为不可数来解决此问题,因此在 config / initializers / inflections.rb 中

ActiveSupport::Inflector.inflections do |inflect|
   inflect.uncountable %w( search )
end

现在应该只允许使用搜索

6

搜索真的是一种资源吗?如果是,那么你创建的是一个具有“搜索”类型的模型的实例,在这种情况下,复数控制器“搜索”是完全有意义的。

在这种情况下,您不需要使用resource :search定义路由,您可以简单地使用get 'search/create'告诉路由器回答“搜索 / 创建”到“搜索”控制器中的“创建”操作。

6

是否只希望为创建生成一条路由?

If so:

resource :search, :only => :create

REST 资源的控制器被命名为 searches_controller 是一个惯例(您可以通过在resource :search, :only => :create, :controller => :search的路由中强制控制器的名称来更改,但它不值得...)。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(608)
血常规cbc模式:128位模式的 CBC加密块大小(aes cbc block size)
上一篇
源数据库:Azure时序见解的数据库源(microsoft time series database)
下一篇

相关推荐

  • comeandgetyourlove音乐爱就在你身边

    Come and Get Your Love是一首热门的歌曲,由美国摇滚乐队Redbone演唱。这首歌曲于1974年发行,被收录在他们的专辑《Wovoka》中。歌曲以放克曲风为主,旋律活泼,曲调悠扬,歌词朗朗上口,深受歌迷喜爱。…

    2023-06-29 07:47:31
    0 25 44
  • css预编译器: center;}

    CSS预编译器是一种用于构建CSS的工具,它可以将CSS代码转换为更易于管理和维护的格式。它们可以使CSS代码更加灵活,更易于重用,并且可以帮助开发人员更轻松地组织和管理CSS代码。…

    2023-04-30 05:19:08
    0 45 32
  • python中predict函数参数:如何使用Python的predict函数进行机器学习预测

    示例示例predict函数是scikit-learn中的一个函数,用于预测新样本的输出结果。参数:…

    2023-03-30 08:03:12
    0 25 69
  • canvas 官网Bring Your Ideas to Life with Creative Artwork

    Canvas 官网是一个用于创建图形的 HTML5 API,它可以在浏览器中使用 JavaScript 来绘制 2D 图形。它提供了一个可以在网页上绘制图形的强大工具,可以用来创建动画、游戏、数据可视化等。…

    2023-02-28 09:52:08
    0 10 96
  • qt creator快速入门 第3版 pdf从零开始

    Qt Creator快速入门第3版是一本关于Qt Creator的教程书,旨在帮助读者快速掌握Qt Creator的使用。书中介绍了Qt Creator的基本功能,如如何创建项目、编辑代码、调试代码以及创建应用程序等等。书中还提供了一些实例代码,帮助读者更好地理解Qt Creator的用法。…

    2023-05-16 03:03:33
    0 54 12
  • cherry键盘win键不能用:解决Cherry键盘Win键无法使用的措施

    如果您的cherry键盘win键不能用,可能是由于系统设置问题导致的。下面提供一些代码,可以帮助您解决这个问题:打开“控制面板”,然后点击“硬件和声音”,打开“键盘”选项卡。…

    2023-08-27 03:36:33
    0 41 31
  • certificate意思一步一步指南

    示例示例是一种用于证明某个人或机构拥有某种资格或资质的文件。它可以是一种认证,也可以是一种奖励或认可。代码示例:…

    2023-09-14 15:01:58
    0 63 23
  • win10系统ctrl加c不能复制:解决win10系统下Ctrl+C不能复制的问题

    解决方案解决方案答:可能是由于系统快捷键被修改所导致的,可以尝试恢复系统默认快捷键;…

    2023-04-15 00:45:32
    0 77 35

发表评论

登录 后才能评论

评论列表(9条)