2012-12-26 49 views

回答

2
parameter[:user_id] 

我不認爲這是什麼官。但是,當前請求對象上有一個parameters方法。請參閱控制器操作中的request.parameters

params[:user_id] 

使用params[:user_id]是與調用request.parameters[:user_id]params[:user_id]也與params["user_id"]相同。見HashWithIndifferentAccess

我不確定這是否就是您的錯字,但params[:user_id]params["userid"]不一樣,即使使用HashWithIndifferentAccess也是如此。 _不會消失,所以他們可以擁有不同的價值觀。

0

paramsparameters是相同的。他們將GETPOST參數都返回到一個散列中。

有沒有這樣的事情parameter

裁判:rails api

+0

它可能是一個常規的本地散列。 –

0

不,您需要查看每個使用的上下文。 params是可用於控制器中方法的常規參數哈希。它包含作爲請求的一部分傳入的參數GETPOST params。

因此,考慮到以下網址:

http://www.testsite.org/some_resource?user_id=13 

params[:user_id]將包含價值13

相反,如果URL是:

http://www.testsite.org/some_resource?userid=13 

您需要使用params[:userid]來獲取值。所有這一切都取決於爲不同的控制器創建URL的方式。

還有第三種方法,您可以將URL本身的各個部分映射到路徑中的參數到應用程序中。請參閱您的應用程序中的config/routes.rb。例如有以下途徑:

match '/user/:user_id' => 'users#show' 

您可以傳遞這樣一個URL:

http://www.testsite.org/user/13 

而在你UsersController.show方法您可以通過使用params[:user_id]像正常訪問的用戶ID。

parameter散列最有可能是輔助方法或其他東西中的params散列的本地副本或引用。

相關問題