2016-08-17 30 views
0

在Rails中,我試圖學習如何使用通過link_to傳遞的參數。Rails params nil當他們似乎在那裏

在一個視圖中我有

<%= link_to 'link', static_pages_params_path(info: 23) %> 

然後在我的StaticPagesController我有

def params 
    debugger 
end 

當我點擊上述鏈接後進入byebug,我看到

Started GET "/static_pages/params?info=23" for ::1 at 2016-08-17 11:05:43 -0500 
Processing by StaticPagesController#params as HTML 
    Parameters: {"info"=>"23"} 
Return value is: nil 

從這看來我應該能夠訪問params。然而,當我進入到PARAMS byebug,我得到零:

(byebug) params 
nil 

我在這一點上調試,因爲我無法訪問PARAMS:從PARAMS方法[信息]。

我在這裏做錯了什麼?

+3

我想你會得到一個命名空間衝突和一個無限循環,因爲它不能區分方法和params變量。您應該明確重命名您的操作並重試。 – Ropeney

+1

這正是問題所在。謝謝。 – Jacquen

回答

3

您正在使用控制器方法覆蓋您的params變量,從而發生命名空間衝突。考慮改變你的行動名稱。

相關問題