繁体   English   中英

克隆/重复对象的路由生成例外

[英]Exception with route generation for a cloned/duped object

我有以下对象

class BaseProject
  include Mongoid::Document
end

现在假设我要通过dup/clone创建它的dup/clone

p1 = Project.first
p2 = p1.clone #p1.dup has the same effect
project_path(p1) #works fine generating /projects/87358736587365 path
project_path(p2) #does not work resulting in an error

No route matches {:action=>"my_action", :controller=>"projects", :id=>#Project{}....

注意:id参数是整个p2对象的哈希值,而不仅仅是一个id

这可能与蒙古气有关。 dupclone产生相同的结果。 我知道ActiveRecord版本有所不同, mongoid重新定义了这些版本

更新1

原来只有具有persisted?对象persisted? 等于true可以生成路由,因为Journey::Routing to_param是生成有效Journey::Routing所必需的。

我面临的问题是,由于验证失败,因此我无法保留对象。 我想我必须假装回/projects/new路由才能解决此问题

即使对象被复制/克隆并且具有有效的id ,也无法为未持久化的对象生成路由

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM