[英]Ruby on Rails: How to pass parameters from view to controller with link_to without parameters showing up in 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
,在参数params
是something
下键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.