我在Rails中使用ActiveResource来管理REST上单独数据库中的实体.
我一直在尝试显式管理远程资源的ID,因为在当前情况下,最简单的方法是重新使用本地资源的ID,而不是维护不同的字段.
不幸的是我一直没能得到这个工作作为代码new?
中ActiveResource::Base
是
def new? id.nil? end
并且save
是
def save new? ? create : update end
因此,根据定义,不可能设置资源的ID并将其保存为新资源.
create
并且update
是受保护的方法,所以如果我攻击ActiveResource :: Base代码可能会使它工作,但我不愿意这样做.
这样做有正确的方法吗?或者我正在努力做的只是坏事,我不应该这样做?