繁体   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