簡體   English   中英

什么是Ruby on Rails控制器參數?

[英]What are Ruby on Rails Controller Parameters?

在服務器運行時,在終端中看到的,當它們通過哈希發送它們時,rails發送的參數是什么? 這是我正在談論的終端中的部分。

Started POST "/topics/2/feeds" for 127.0.0.1 at 2014-04-01 21:01:17 -0700
Processing by FeedsController#create as JS
# HERE...
Parameters: {"feed"=>{"text"=>"Hello!"}, "commit"=>"Create Feed", "topic_id"=>"2"}

RailsGuides中,他們只是說這是url或POST數據中的查詢字符串,但這僅僅是Ruby代碼嗎? 可以是JSON嗎?

參數是一個簡單的散列,就像文檔所聲明的那樣,是通過查詢字符串或POST數據從客戶端接收的。 為了在控制器中訪問它,Rails使params哈希可用。

對於上面的示例,您可以簡單地使用params[:id]獲得值2 如果您使用Rails表單,則默認情況下,Rails將具有一些鍵和值。 您可以在客戶端上指定的其他選項,通常使用某種Ajax查詢。

這不是真正的哈希。 您在控制台中看到的Parameters: {"id"=>"2"}只是人類可讀性的參數表示。 在您出現的特定情況下,該參數在url中給出:

GET /topics/2

如果查看config/routes.rb ,則可能會找到類似以下的行:

resources :topics

這意味着TopicsController將被視為資源,當您發出此請求時,

GET /topics/2

Rails將解釋為您正在請求ID為2的主題資源。 因此,該請求將指向控制器的方法show ,並且params哈希將具有一個值為2id鍵。

了解有關Rails路由的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM