rails 3 routing ...无法传递参数[:n_id]
问题描述:
我在这里做错了什么?rails 3 routing ...无法传递参数[:n_id]
路由文件
match '/ignore/:n_id',:to => 'businesses#ignore', :as => 'ignore'
指数
<%= link_to "Ignore", ignore_path(@n_ignore = o.n_id) %>
结果URL(这是正确的)
http://0.0.0.0:3000/ignore/47
控制器(其中,我希望做一些东西与N_ID)
def ignore
@searchresultignore = params[:n_id]
end
重定向回索引页面后,我有一个空值
<%= debug @searchresultignore %>
答
控制器的实例变量不能跨请求共享,如果你重定向到index
行动,仍然需要参数,你应该使用类似的东西:
redirect_to :action => :index, :n_id => params[:n_id]
+0
这是有道理的......但是,我甚至能够在def ignore中获得@searchresultsignore。任何想法如何得到这个工作?对不起,我是一个noob – rehcelf 2012-02-25 06:44:31
+0
然后在索引操作中分配'@ searchresultsignore',因为这是你需要的地方。另外考虑直接在你的视图中使用'params [:n_id]'而不是创建一个实例变量。 – 2012-02-25 19:57:05
请显示重定向的控制器代码。请在控制器中显示完整的索引操作。 – 2012-02-25 06:14:04