目前我们正在使用method_missing来捕获我们控制器中对SEO友好操作的调用,而不是为变量的每个可想到的值创建操作。我们想要的是像这样的URL:
/生/ BobSmith
和NOT / students / show / 342
有没有比method_missing更清晰的解决方案?
谢谢!
答案 0 :(得分:0)
您可以创建一个包罗万象的路线。将它放在 config / routes.rb 的底部,使用您想要的任何控制器和操作:
map.connect '*path', :controller => '...', :action => '...'
路径的各个部分可供params[:path]
数组中的控制器使用。
答案 1 :(得分:0)
您可以非常轻松地为该特定格式定义路线。
map.connect "/students/:name", :controller => :students, :action => :show, :requirements => {:name => /[A-Z][A-Z]+/}
然后在你的节目动作中你可以使用params [:name]找到名字。