ruby-on-rails - Rails 3 strip 有非数字 ID 的路线

标签 ruby-on-rails routes

我有一个对象,它必然有一个类似于“1.3.6.1.4.1.25623.1.0.14377”的 id。当我尝试创建使用 id 的链接(例如 link_to my_object(object.id))时,Rails 3 崩溃并表示不存在路由。

我已通过尝试 link_to my_object(1) 验证了我的路线是否有效。 Rails 创建此链接没有问题。

有什么想法吗?

提前致谢!

最佳答案

我已经弄清楚了...默认情况下,当在参数字段(在本例中为 id)中找到句点 (.) 时,Rails 会感到奇怪。要更改此行为,只需将 :constraints 指令添加到路由语句中并明确告诉它参数应该是什么样子。就我而言,事实证明以下方法解决了问题:

resources :nvts, :constraints => { :id => /[0-9\.]+/ }

感谢Avdi Grimm表彰他最有帮助的博客文章。

关于ruby-on-rails - Rails 3 strip 有非数字 ID 的路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5462466/

相关文章:

ruby-on-rails - rake 数据库:migrate Could not connect to server error

ruby-on-rails - 具有多对多关联的模型的计数器缓存

routes - 在 Symfony 1.4 中使用 URL 中的破折号

Ember.js - 如何在组件 View 中渲染默认导出

ruby-on-rails - ruby net-sftp 逐行读取文件

ruby-on-rails - Rails 忽略有关我的 Heroku PostgreSQL 数据库的 database.yml 详细信息

ruby-on-rails - 我想知道 Ruby 或 Ruby on Rails(框架)中是否有 Head- and Tail-methods

Laravel 路由参数在单元测试中返回 null

php - 出现错误 Route not Define at LARAVEL

javascript - 使用 typescript 函数的 Angular 6 路由