繁体   English   中英

如何在Ruby on Rails中的URL中传递和接收参数?

[英]How to pass and receive parameters in url in Ruby on Rails?

我是红宝石的新手,我想在url中传递参数并在控制器中接收它。

我期望像

www.mysite.com/getuser/id/22

其中,getuser是参数名称,22是其值。

如果有任何有用的链接可供参考,请提供给我。

提前致谢

请阅读《 Rails路由指南》中的所有内容。 那里有两种主要情况:

  • RESTful路由:仅使用GET,PUT,POST,DELETE。 Rails通过使用方法resources映射。 resources :pages将自动导致以下路由(和URL):

      sites GET /sites(.:format) {:action=>"index", :controller=>"sites"} POST /sites(.:format) {:action=>"create", :controller=>"sites"} new_site GET /sites/new(.:format) {:action=>"new", :controller=>"sites"} edit_site GET /sites/:id/edit(.:format) {:action=>"edit", :controller=>"sites"} site GET /sites/:id(.:format) {:action=>"show", :controller=>"sites"} PUT /sites/:id(.:format) {:action=>"update", :controller=>"sites"} DELETE /sites/:id(.:format) {:action=>"destroy", :controller=>"sites"} 
  • 其他路线:您可以在路线文件中使用多种方法来添加其他路线。 但请记住:如果您只想寻址资源,最好坚持使用宁静的路线。 一个典型的例子是_ match ':controller(/:action(/:id))' 这样可以使用以下网址:

    • localhost:3000/sites/help :控制器== SitesController ,操作== help
    • localhost:3000/sites/search/something :控制器== SitesController ,行动== search ,在参数paramssomething下键id 因此,在动作search ,您会发现绑定到"something" params[:id]

在config / routes.rb文件中,您可以编写:

resources :users 

然后创建控制器:

rails g controller users 

在控制器文件中,您有一些(人为的)内容,例如:

def show 
  my_id_param = params[:id]
end 

当您访问:www.mysite.com/user/22

my_id_param将为22

我认为Rails指南是相当不错的资源,只是Google为其提供了很多有用的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM