2012-02-25 46 views
1

我在這裏做錯了什麼?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 %> 
+0

請顯示重定向的控制器代碼。請在控制器中顯示完整的索引操作。 – 2012-02-25 06:14:04

回答

0

控制器的實例變量不能跨請求共享,如果你重定向到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