Я использую ActiveResource в Rails для управления объектами в отдельной базе данных через REST.
Я пытался явно управлять идентификаторами удаленных ресурсов, поскольку для текущего случая проще всего просто повторно использовать идентификатор локального ресурса, а не поддерживать другое поле.
К сожалению, я не смог заставить это работать, поскольку код для new?
в ActiveResource::Base
равен
def new?
id.nil?
end
и save
- это
def save
new? ? create : update
end
Таким образом, по определению невозможно установить идентификатор ресурса и сохранить его как новый ресурс.
create
и update
являются защищенными методами, поэтому, если бы я взломал код ActiveResource :: Base, возможно, это могло бы заставить его работать, но я не хочу этого делать.
Есть ли правильный способ сделать это? Или то, что я пытаюсь сделать, просто плохо, и я не должен этого делать?