RailsFriendly_id 页面仍然可以通过记录 id 访问

2024-01-11

我在 Rails 应用程序中使用Friendly_id gem 来创建漂亮干净的 url。效果很好,但该页面也可以通过记录 ID 访问。

Example:

我有一张以“姓名”为标题的唱片。该记录的 ID 为 1。

因此可以从 2 个 url 访问该页面:

域名.com/名称

and

域名.com/1

我只想使用domain.com/name,因此我不希望可以从domain.com/1 访问该页面。

有谁知道如何做到这一点?


来自作者本人(Google 是你的朋友;这是搜索时的最佳结果friendly_id disable find id): https://github.com/norman/friend_id/issues/146 https://github.com/norman/friendly_id/issues/146

什么版本的FriendlyId?

在 4.x 中,只需使用 find_by_slug 而不是 find。

在 3.x 中,您可以使用 find_by_cached_slug,或者检查找到的结果的Friendly_id_status,如果使用友好 ID 以外的其他内容找到记录,则会引发错误。

无论哪种方式,您都需要替换出现的find使用上述替代方案之一告诉您的应用程序忽略:id column.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RailsFriendly_id 页面仍然可以通过记录 id 访问 的相关文章

随机推荐

  • java 使用线程下载多个文件

    我正在尝试使用线程下载与模式匹配的多个文件 该模式可以匹配 1 5 或 10 个不同大小的文件 为了简单起见 下载文件的实际代码位于 downloadFile 方法中 而 fileNames 是与模式匹配的文件名列表 我如何使用线程来做到这
  • Windows Phone 7 - 加载一个大的 xml 文件

    我正在尝试将 xml 文件加载到我的应用程序中并将其显示在列表框中 问题是该xml文件大约有5MB 在手机上加载大约需要40秒 当手机锁定屏幕并返回时 又需要 40 秒 我尝试使用isolatedstorage来存储数据 但它并没有提高性能
  • 为什么我的静态目录无法与 django 1.3 一起使用?

    这个问题很简单 但我就是想不出来 添加到我的 urlpatterns url r static P
  • 公开 Firebase 存储,以便在 Android 上读写

    我是 firebase 存储的新手 谁能告诉我如何使存储文件公开以供读写 firebase 提供的默认代码如下 我应该做出哪些改变 service firebase storage match b image view b1cf5 apps
  • iOS 8 AutoLayout 滚动视图在 iPhone 6 plus 上水平滚动

    我确实有一个 iOS 应用程序 在调整所有 UI 以自动布局和尺寸类别以支持新的 iPhone 6 和 iPhone 6 plus 时 我遇到了一个奇怪的问题 我的滚动视图在 iPhone 4s 5 5s 中工作正常和 6 在 iPhone
  • Discord 丰富的嵌入按钮

    我制作了一些discord py 机器人 但我遇到了一个令人惊讶的机器人 它被称为 IdleRPG 并使用带有按钮的丰富嵌入消息 这是一张图片 注意菜单底部的按钮 我尝试联系开发商并一直在网上搜索 但似乎找不到他们是如何做到的 有谁知道有关
  • 如何在 bash 中优雅地存储和回显多行? [复制]

    这个问题在这里已经有答案了 我试图将一段文本捕获到一个变量中 并保留换行符 然后回显它 然而 当我捕获文本或显示文本时 换行符似乎没有被维护 关于我如何实现这一目标有什么想法吗 Example bin bash read d my var
  • 即使我注销了,如何才能在后台继续运行unix程序?

    我想在 unix 机器上在后台运行一个带有 while 1 循环的 Perl 脚本 直到我杀死它 这是一台我没有管理权限的远程计算机 因此由于某种原因 我无法使用 Daemon Generic While1 我通过 SSH 登录到它 并且我
  • TypeDoc 抱怨“找不到模块”

    我有一个基于 Typsecript 的反应应用程序 它工作得很好 但我想添加 TypeDoc 想想 Typescript 的 JSDoc 安装后 我从命令行运行它 在测试时仅处理单个文件 typedoc module commonjs js
  • 汇编反转字符串

    读取字符串直到按下 1 并且 1 将位于字符串的最后一个位置 我不知道为什么我的输出关闭 例如输入是 asd1 输出是 1111 无论如何 这是我的代码 data segment msg db 0dh 0ah Your string rev
  • Swift 3 迁移后 UICollectionView 损坏了?

    在我的项目中使用 Swift 3 转换器后 加载 UICollectionViewController 的子类时我不断崩溃 下面是我的代码以及集合视图的相关方法 override func collectionView collection
  • QNetworkAccessManager超时

    目前我正在开发一个从远程服务器发送和接收文件的应用程序 为了进行网络操作 我使用 QNetworkAccessManager 要上传文件 我使用 QNetworkAccessManager put 并下载文件 我使用 QNetworkAcc
  • 在动态加载的内容上使用hammer.js

    我正在使用hammer js 开发一个网络应用程序 我可以让它正常工作 除了使用 ajax 加载的内容 我使用 jquery 的hammer js 特殊事件插件 以下工作正常 menu a on tap function event con
  • NSDatePicker 使用箭头键时行为不当

    我用过NSDatePickers 没有步进器 在列的单元格中NSTableView 日期选择器用于设置以小时 分钟和秒为单位的持续时间 如果我突出显示其中一个控件并使用箭头键设置值 日期选择器会显示一些奇怪的行为 每次按下向上箭头时 秒数都
  • Node 连接到 Postgres 的速度比 .NET Core 快 20 倍

    我有两台服务器连接到PostgresSQL 9 6数据库托管在 Azure 上 服务器正在做一件事 使用 a 访问 Postgres 数据库SELECT 1每5秒查询一次 连接到数据库并获取数据的典型时间 Node 25 MS NET Co
  • 波形符 C 无符号与有符号整数

    例如 unsigned int i 0 Result 我可以分配的最大数量i and signed int y 0 Result 1 为什么我得到 1 我不应该得到可以分配的最大数量吗y Both 4294967295 又名UINT MAX
  • 使用 python 从公共 Google Drive 下载文件:范围问题?

    使用我的答案我的问题 https stackoverflow com questions 68270332 automatically download large files in public gdrive folder关于如何从公共
  • 无法在单个页面上显示多个 Highcharts

    我试图在一页上显示 3 个 Highcharts 生成的图表 我已经加载了前两个 但是当我添加第三个的 Javascript 时 所有这些都没有显示 我在这个 JSFiddle 中复制了我的代码 http jsfiddle net ricb
  • 导入错误:导入错误:无法从“bson.py3compat”导入名称“abc”

    我该如何解决这个错误 它会在运行程序时生成 from bson import ObjectId class JSONEncoder json JSONEncoder def default self o if isinstance o Ob
  • RailsFriendly_id 页面仍然可以通过记录 id 访问

    我在 Rails 应用程序中使用Friendly id gem 来创建漂亮干净的 url 效果很好 但该页面也可以通过记录 ID 访问 Example 我有一张以 姓名 为标题的唱片 该记录的 ID 为 1 因此可以从 2 个 url 访问