使用 Rails 获得 SEO 友好的 URL,而不需要 method_missing?
目前,我们使用 method_missing 来捕获控制器中对 SEO 友好操作的调用,而不是为变量的每个可能的值创建操作。我们想要的是这样的 URL:
/students/BobSmith
而不是 /students/show/342
有没有比 method_missing 更干净的解决方案?
谢谢你!
Currently we are using method_missing to catch for calls to SEO friendly actions in our controllers rather than creating actions for every conceivable value for a variable. What we want are URLS like this:
/students/BobSmith
and NOT /students/show/342
IS there a cleaner solution than method_missing?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以相当轻松地为该特定格式定义路线。
然后在您的显示操作中,您可以使用 params[:name] 按名称查找。
You can define a route for that particular format fairly easily.
Then in your show action you can find by name using params[:name].
您可以创建一条包罗万象的路线。将其与您想要的任何控制器和操作一起放在 config/routes.rb 的底部:
路线的各个部分将在
params[:path]
数组。You can create a catch-all route. Put this at the bottom of config/routes.rb with whatever controller and action you want:
The segments of the route will be available to your controller in the
params[:path]
array.