大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – url_for定制RESTful资源(复合键;不只是id),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以使用这个语法使url_for为我工作:
<%= link_to @post.title,post_url(:year => '2010',:month => '02',:slug => 'test') %>
但是有没有办法使这项工作?
<%= link_to @post.title,@post %>
目前它抛出了这个错误:
No route matches {:year=>#<Post id: 1,title: "test",(...)>,:controller=>"posts",:action=>"show"}
显然,它将@post对象传递给第一个路由参数(看起来像一个Rails错误…).但我可以为我工作吗?我会补充说,与default_url_options的混乱是一个死胡同.
解决方案只能在Rails 3.x中工作,但我不想使用任何插件.
# app/controllers/posts_controller.rb class PostsController < ApplicationController protected def url_for(options = {} ) if options[:year].class.to_s == "Post" obj = options[:year] options[:year] = obj.year options[:month] = obj.month options[:slug] = obj.slug end super(options) end end
以上是大佬教程为你收集整理的ruby-on-rails – url_for定制RESTful资源(复合键;不只是id)全部内容,希望文章能够帮你解决ruby-on-rails – url_for定制RESTful资源(复合键;不只是id)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。