访问ruby结构中的对象。可以找到对象但不能在struct上调用方法

时间:2011-01-12 07:16:29

标签: ruby struct

class ScrapeJob < Struct.new(:scrape_id) 
    def perform
      @scrape = Scrape.find(scrape_id)
      puts @scrape.link
    end
end

为什么我可以找到此对象@scrape,但我无法在此struct中询问它的任何属性。 @scrape.link只是一个字符串,控制台返回一个我无法调用私有方法的错误。我怎样才能得到这个对象信息?

1 个答案:

答案 0 :(得分:0)

我认为您忘记给Struct一个名称,因此scrape_id成为名称类名。您可能想要使用的语法是:

ScrapeJob = Struct.new(:scrape_id) do
   ...
end