ruby-on-rails - Rails + 友好 ID : Have some paths use the numerical ID

标签 ruby-on-rails url-routing friendly-id

我有一个使用 friendly_id Gem 的 Rails 应用程序。

使用友好 ID 效果很好。

但是,在后台的某些路径中,我不想在 URI 中使用 Friendly ID slug,因为不可能使用与前端相同的范围。

例如我有一篇文章可以有多个版本。在前面的每个 blog 上,都会显示另一个文章版本。因此,我可以使用 @blog.articles.friendly.find(params[:id])。然而,在后台,我有一些页面,人们可以在其中编辑这样一个版本,该版本嵌套在博客下(因为版本可以使用表单更改博客)。因此,与早期版本具有相同 slug 的文章版本将无法访问。

我如何指示 friendly_id 和/或 Rails URL 助手不对这些路径使用 slug,而只使用旧的数字 ID?

最佳答案

Article模型中,为friendly_id属性添加finders选项

class Article < ActiveRecord::Base
  ...
  friendly_id :name_of_article, :use => [:slugged, :finders]
  ...
end

在这种情况下,无论 params[:id] 是数字 id 还是 slugs,您仍然应该能够通过 Article.find(params[:id] )

不确定我是否正确理解了您的问题。希望对您有所帮助!

关于ruby-on-rails - Rails + 友好 ID : Have some paths use the numerical ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35535707/

相关文章:

ruby-on-rails - 我该如何解决这个烦人的 syntastic rails 错误

.net - ASMX 操作 404s,但 ASMX 服务描述没有,url 路由问题?

python - bottle.py URL 路由和反向 howto?

ruby-on-rails - Friendly_Id 错误,未初始化常量

ruby-on-rails - 切换到 bundler 后如何消除 gem 错误

ruby-on-rails - 安装 nokogiri (1.6.7.2) 时 bundle 安装错误。 Gem 安装但不适用于 Rails 应用程序

ruby-on-rails - 如何在 Rails 中使用友好的 ID,例如 mysite.com/[USERNAME]

ruby-on-rails - ActiveRecord::ReadOnlyRecord 使用 ActiveAdmin 和 Friendly_id 时

ruby-on-rails - Rails 电子商务捐赠中心

javascript - React - 将组件动态加载到页面中