我有一个使用friendly_id
Gem。
使用友好ID效果很好。
但是,后台有一些路径,我不想在URI中使用Friendly ID slug,因为不可能使用与前端相同的范围。
e.g。我有一篇文章可以有多个版本。在前面的每个博客上,显示了另一篇文章版本。因此,我可以使用@blog.articles.friendly.find(params[:id])
。但是,在后台,我有人们可以编辑这样一个版本的页面,这个版本不嵌套在博客下(因为版本可以使用表单更改博客)。因此,与早期版本具有相同slug的文章版本将无法访问。
如何指示friendly_id
和/或Rails URL帮助程序不将slug用于这些路径,而只是使用旧的数字ID?
答案 0 :(得分:4)
在Article
模型中,将finders
个选项添加到friendly_id
属性
class Article < ActiveRecord::Base
...
friendly_id :name_of_article, :use => [:slugged, :finders]
...
end
在这种情况下,无论params[:id]
是什么,数字ID还是slu ,,你仍然可以通过Article.find(params[:id])
获得文章。
不确定我是否正确理解了您的问题。希望它有所帮助!