我一直在使用sort_link对页面上的链接进行排序
= sort_link(@search, :project_token, "Project ID")
它运行正常......但是当用户过滤某些内容时,它会将我带到url discount / 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部分来解决这个问题。不是我想要的.....我希望保持我的链接可以排序,而不会出现此错误
有什么建议吗?
谢谢
答案 0 :(得分: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" })
这样可行,但我仍然不确定这是否是最佳方法......似乎违反了D.R.Y原则。
任何建议都会有所帮助
谢谢!