簡體   English   中英

Ruby on Rails中的綁定參數

[英]Bound Parameters in Ruby on Rails

我之前也曾問過一個與此主題有關的問題,借助這個問題,我找到了我想要的名稱:“ 綁定參數 ”。

通過添加一個成員到routes.rb我設法創建了一個類似於“ user /:id / routes.rb ”的routes.rb 但是,這種URL並不是我一直在尋找的解決方案。

我的問題是,您如何提供'user / dosomething /:id'來匹配以id為參數發送的操作用戶的dosomething操作?

這是為了理解這一點而閱讀的部分

3.1綁定參數

設置常規路由時,需要提供一系列符號,Rails會將它們映射到傳入HTTP請求的一部分。 其中兩個符號是特殊的:: :controller映射到應用程序中控制器的名稱,而:action映射到該控制器內的操作的名稱。 例如,考慮以下路線:

 get ':controller(/:action(/:id))' 

如果此路由處理了/photos/show/1的傳入請求(因為它與文件中的任何先前路由都不匹配),那么結果將是調用PhotosController的show動作,並進行最終處理參數"1"可用作params[:id] 此路由還將/photos的傳入請求路由到PhotosController#index ,因為:action:id是可選參數,用括號表示。

您可以添加自定義路線:

get 'user/doesomething/:id' => 'users#do_something', :as => 'do_something_user'

這會將與URL user/dosomething/:id匹配的HTTP GET請求路由到UsersControllerdo_something操作。 :as => 'do_something_user'部分為路由命名,因此您可以使用do_something_user_pathdo_something_user_url幫助程序來生成URL。

有關布線的更多信息,請參見從外部進入Rails布線

暫無
暫無

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

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