Доступ к объектам в рубиновой структуре. Может найти объект, но не может вызвать метод в структуре - PullRequest
0 голосов
/ 12 января 2011
class ScrapeJob < Struct.new(:scrape_id) 
    def perform
      @scrape = Scrape.find(scrape_id)
      puts @scrape.link
    end
end

Почему я могу найти этот объект @scrape, но я не могу спросить его о каких-либо его атрибутах в этом struct.@scrape.link - это просто строка, и консоль возвращает ошибку, которую я не могу вызвать закрытым методом.Как я могу получить информацию об этих объектах?

1 Ответ

0 голосов
/ 12 января 2011

Я думаю, что вы забыли дать своему Struct имя, поэтому scrape_id становится именем класса имени. Синтаксис, который вы, вероятно, хотите использовать:

ScrapeJob = Struct.new(:scrape_id) do
   ...
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...