Клиент ActiveResource не работает должным образом - PullRequest
0 голосов
/ 16 декабря 2009

У меня есть этот код:

require 'rubygems'
require 'activeresource'

ActiveResource::Base.logger = Logger.new("#{File.dirname(__FILE__)}/exercises.log")

class Exercise < ActiveResource::Base
  self.site = "http://localhost"
  exercises = Exercise.find(:all)

  ex = Exercise.find(741)
  ex.name += "_TEST"
  ex.save
end

И сгенерированный URL для ex.save -

POST http://localhost/exercises.xml

Результатом является создание новой записи, а не обновление существующей записи ...

Я бы ожидал, что URL будет

PUT http://localhost/exercises/741.xml

и, конечно, я ожидал обновления существующей записи.

Есть идеи, где искать?

Спасибо

1 Ответ

1 голос
/ 16 декабря 2009

Переместить этот блок:

  exercises = Exercise.find(:all)

  ex = Exercise.find(741)
  ex.name += "_TEST"
  ex.save

ВНЕ определения класса.

...