我有一个对象,它必然有一个类似于“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/