【问题标题】:How to add additional rest routes to a nested resource in rails如何向 Rails 中的嵌套资源添加额外的休息路线
【发布时间】:2010-09-28 18:02:42
【问题描述】:

我有一个包含许多链接的小部件。在路由文件中:

map.resources :widgets, :has_many => [:links]

我想为链接添加“排序”操作。我需要在路由文件中添加什么,所以我可以写sort_widget_links_path(widget)

【问题讨论】:

  • 排序绝不是 RESTful。 IMO,理想情况下,您应该使用查询字符串(例如/widgets/2/links?sort=date&sort_order=asc)而不是 URI 组件来指定排序顺序。

标签: ruby-on-rails rest routes nested-resources


【解决方案1】:

您可以使用块来定义它:

map.resources :widgets do |widget|
  widget.resources :links, :member => {:sort => :get}
end

【讨论】:

  • 嗨,马克,感谢您的回复。是否可以定义 map.resources :widgets 两次,还是必须将与小部件路由相关的所有其他内容放在同一块中?
  • 嗨,deb。你真的应该使用同一个块;尽管我可能会这样做,否则我真的无法理解您为什么要这样做。你还需要定义什么?
猜你喜欢
  • 2010-12-16
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-03
  • 2014-10-25
  • 1970-01-01
  • 2016-04-05
相关资源
最近更新 更多