Rails - 漂亮的 URI 而不是 Restful URI
在 View
<tr onclick="window.location.href = '<%= url_for :controller => "products", :action => "index", :product => release.product_name, :version => release.version %>'" >
在控制器中
release = Release.find_ver_rel(params[:product], params[:version])
respond_to do |format|
format.html { render :template => 'releases/overview' }
end
它产生 URI: /products?product=Atlas&version=0.2
如何获取“漂亮的 uri”,如 /products/product/Atlas/version/0.2
?
in View
<tr onclick="window.location.href = '<%= url_for :controller => "products", :action => "index", :product => release.product_name, :version => release.version %>'" >
In controller
release = Release.find_ver_rel(params[:product], params[:version])
respond_to do |format|
format.html { render :template => 'releases/overview' }
end
It produces URI: /products?product=Atlas&version=0.2
How to get "pretty uri" like /products/product/Atlas/version/0.2
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在您的路由文件
config/routes.rb
中放置match '/products/product/:name/version/:version' =>; '产品#index', :as => :something
这样,您可以将变量直接传递到
something_path(:name => 'Name')
中,或者从params[:name]
中获取变量>。In your routes file
config/routes.rb
putmatch '/products/product/:name/version/:version' => 'product#index', :as => :something
This way, you can either pass variables directly into
something_path(:name => 'Name')
, or fetch it fromparams[:name]
.