0

我一直在使用 sort_link 对页面上的链接进行排序

= sort_link(@search, :project_token, "Project ID")

它工作正常......但是当用户过滤某些东西时,它会将我带到 url discounts/set_filter 并且一旦它到达那里,可排序的链接就不再起作用并引发路由错误

  No route matches [GET] "/manager/reports/discounts/set_filter"

我查看了文档并查看了 railscast http://railscasts.com/episodes/370-ransack?view=asciicast ......Ryan Bates 确实解决了这个问题,但他通过将其移至filter.html.haml 部分不是我想要的.....我想保持我的链接可以这样排序而不会出现此错误

有什么建议么?

谢谢你

4

1 回答 1

0

所以我通过向我的每个 sort_link 添加一个 {action: 'show'} 来解决这个问题

  %th.align_left 
    = sort_link(@search, :project_token, "Project ID", { action: "show" })
  %th.align_center 
    = sort_link(@search, :project_district_name, "District", { action: "show" })
  %th.align_center 
    = sort_link(@search, :property_city, "Property Address", { action: "show" })
  %th.align_center 
    = sort_link(@search, :created_at, "Application Date", { action: "show" })
  %th.align_center 
    = sort_link(@search, :submitter_first_name, "Submitted By", { action: "show" })
  %th.align_center 
    = sort_link(@search, :discount_code, "Code", { action: "show" })

这可行,但我仍然不确定这是否是最好的方法......似乎我在这里违反了 DRY 原则。

任何的意见都将会有帮助

谢谢!

于 2013-06-14T21:42:09.047 回答