[英]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
这可能与蒙古气有关。 dup
和clone
产生相同的结果。 我知道ActiveRecord
版本有所不同, mongoid
重新定义了这些版本
更新1
原来只有具有persisted?
对象persisted?
等于true
可以生成路由,因为Journey::Routing
to_param
是生成有效Journey::Routing
所必需的。
我面临的问题是,由于验证失败,因此我无法保留对象。 我想我必须假装回/projects/new
路由才能解决此问题
即使对象被复制/克隆并且具有有效的id
,也无法为未持久化的对象生成路由
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.