2012-03-20 25 views
0

我有一个Rails 3应用程序,其中我传递一些字符串的查询是这样的:查询字符串为所有控制器所坚持的错误

<%= link_to "All", work_orders_path(params.merge({:status_filter => "E", :sort_filter => params[:sort_filter]})) %> 

一切工作的持久性我的work_order观点明智而这正是这些参数用于(排序和过滤现有工单)

我遇到的问题是,当我使用link_to添加新工作订单或尝试link_to到另一个控制器时,:status_filter:sort_filter持续存在,导致路由错误。

例如,当我想打的索引来查看所有的技术人员(哪些是不适用的,我得到

没有路由匹配{:sort_filter =>零,:status_filter =>“E”, :。控制器=>“技师”}

我到处找一个解决方案,但作为然而我已经无法拿出任何东西我已经试过params.delete,没有骰子,我知道有必须是一个简单的方法来清除这些从link_to中的URL,但我无法弄清楚。

+0

好像你在改变'params'值。你确定你只使用'merge'而不是'merge!'或'update'吗? – qerub 2012-03-20 22:33:13

+0

没有真正理解这个问题,他们坚持两种不同的观点?或者当您单击全部链接时发生问题? – Castilho 2012-03-20 22:33:57

+0

不使用合并!或更新。问题是,他们坚持每个link_to(即使在不同的控制器)在整个应用程序,并且到目前为止我一直无法清除它们。 – user1214966 2012-03-20 23:30:04

回答

0

我发现这些链接对于我所有的导航都在我的application.html.erb中,所以我在那里使用的任何参数都在整个应用程序中传输。我仍然没有想出为什么。我将这些链接移至work_orders中的index.html.erb文件,现在其他所有工作都可以使用。

相关问题