Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails (Ruby/Rails)在尝试引用变量时未定义的方法_Ruby On Rails_Ruby_Activerecord_Methods_Activeresource - Fatal编程技术网

Ruby on rails (Ruby/Rails)在尝试引用变量时未定义的方法

Ruby on rails (Ruby/Rails)在尝试引用变量时未定义的方法,ruby-on-rails,ruby,activerecord,methods,activeresource,Ruby On Rails,Ruby,Activerecord,Methods,Activeresource,因此,继续我的活动资源和活动记录冒险,我试图在活动资源中执行一个简单的get方法,但每次我尝试引用变量时,它都会抛出一个未定义的方法异常。也许最好用代码来解释它 class UserRequest < ActiveResource::Base self.site = "http://localhost:3008" def get_status puts self.status return self.status end 另一侧的活动记录由URL、深度和状

因此,继续我的活动资源和活动记录冒险,我试图在活动资源中执行一个简单的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
>> 
似乎当我引用activerecord的.status部分时,它是在寻找一个方法,而不是我认为在.find中返回的变量。同样的问题也发生在服务器端控制台上

2明确的可能性是,我引用的变量是错误的,尽管我尝试了多种不同的方式,从self称之为asides

或者我关于类如何在活动记录中构建的概念是错误的。可能是我一直听说的自我初始化


有人愿意帮忙吗?

不理解获取状态方法的目的。 作为一个属性,您不需要定义该方法,Rails会为您定义。
因此@received.status应该可以正常工作。

如果get\u status方法所做的只是返回self.status,那么您可以直接通过@received.status访问它。不需要定义单独的getter方法,我在模型中看不到status属性。在添加rake db:migrate之后,您是否执行了该操作?目前get_status方法所做的一切都是使用变量进行响应,但在我完成之后,它将通过net::httpI将结果作为json发布,目前只想引用该变量。完成后,我希望它用json post请求进行响应