Ruby on rails 轨道&x2B;友好ID:让一些路径使用数字ID
我有一个Rails应用程序,它使用Ruby on rails 轨道&x2B;友好ID:让一些路径使用数字ID,ruby-on-rails,url-routing,friendly-id,Ruby On Rails,Url Routing,Friendly Id,我有一个Rails应用程序,它使用友好的\u idGem 使用友好的ID很有效 但是,在后台办公室中有一些路径,我不想在URI中使用友好的ID slug,因为不可能使用与前端相同的作用域 e、 我有一篇文章可以有多个版本。在前面的每个博客上,都会显示另一个文章版本。因此,我可以使用@blog.articles.friendly.find(params[:id])。但是,在backoffice中,我有一些页面,人们可以在其中编辑这样一个版本,它不是嵌套在博客下的(因为版本可以使用表单更改博客)。因
友好的\u id
Gem
使用友好的ID很有效
但是,在后台办公室中有一些路径,我不想在URI中使用友好的ID slug,因为不可能使用与前端相同的作用域
e、 我有一篇文章可以有多个版本。在前面的每个博客上,都会显示另一个文章版本。因此,我可以使用@blog.articles.friendly.find(params[:id])
。但是,在backoffice中,我有一些页面,人们可以在其中编辑这样一个版本,它不是嵌套在博客下的(因为版本可以使用表单更改博客)。因此,与早期版本具有相同slug的文章版本将无法访问
我如何指示
friendly_id
和/或Rails URL帮助程序不对这些路径使用slug,而只使用良好的旧数字id 在文章
模型中,将查找者
选项添加到友好id
属性中
class Article < ActiveRecord::Base
...
friendly_id :name_of_article, :use => [:slugged, :finders]
...
end
类文章[:sluged,:finders]
...
结束
在这种情况下,无论params[:id]
是数字id还是slug,您都应该能够通过article.find(params[:id])
获取文章
不确定我是否正确理解了你的问题。希望有帮助 问题是,在某个时候,可能有两篇文章使用相同的slug。这是预期的行为,因为它们的范围在
博客上。e、 g.friendly\u id:name\u文章,使用:[:sluged,:history,:scoped],scope::blog
。然而,我关于后端的文章不在博客上,所以我想继续使用数字ID。