Итак, продолжая мое приключение с активным ресурсом и активной записью, я пытаюсь сделать простой метод get в активном ресурсе, но каждый раз, когда я пытаюсь ссылаться на переменную, он вызывает метод неопределенного исключения.Возможно, лучше объяснить это в коде.
class UserRequest < ActiveResource::Base
self.site = "http://localhost:3008"
def get_status
puts self.status
return self.status
end
Активная запись на другой стороне состоит из URL, глубины и статуса.
Так что я иду через консоль так, как и было бы,
?> @received = UserRequest.find(10)
=> #<UserRequest:0x101174e98 @prefix_options={}, @attributes={"user_request"=>#<UserRequest:0x10111ddc8 @prefix_options={}, @attributes={"created_at"=>Thu Jul 14 10:43:32 UTC 2011, "depth"=>583, "updated_at"=>Thu Jul 14 10:43:32 UTC 2011, "url"=>"www.mendi.com", "id"=>10, "status"=>"In queue: not started"}>}>
>>
?>
?> @received.get_status
NoMethodError: undefined method `status' for #<UserRequest:0x101174e98>
from /Library/Ruby/Gems/1.8/gems/activeresource-3.0.9/lib/active_resource/base.rb:1401:in `method_missing'
from /Users/shanemoore/Desktop/activeResourceTest/webApps/app/models/user_request.rb:17:in `get_status'
from (irb):47
>>
кажется, что когда я ссылаюсь на часть .status activerecord, он ищет метод, а не переменную, которую я думалбыл возвращен на .find.Та же проблема возникает на серверной консоли.
2 Определенные возможности в том, что я ссылаюсь на переменные неправильно (хотя я пробовал несколько разных способов вызова этого, кроме self.whither)
Или моя концепция построения классов в активной записи неверна.(возможно, это самоинициализация, о которой я постоянно слышу)
Кто-нибудь хочет помочь?