我正在使用jira-ruby庫,並且擴展瞭如下定義的JIRA::Resource::Issue
類。繼承的類不具有屬性?
class ServerRequest < JIRA::Resource::Issue
def requested_os
customfield_11169
end
end
當我創建一個新的ServerRequest
對象,我無法訪問像我能屬性時,對象是JIRA::Resource::Issue
型
恩。
[81] pry(main)> ticket.class
=> JIRA::Resource::Issue
[80] pry(main)> ticket.customfield_11169
=>{"self"=>"http://REDACTED:8080/rest/api/2/customFieldOption/14451",
"value"=>"Linux - CentOS","id"=>"14451"}
[81] pry(main)> request = ServerRequest.new(ticket)
[82] pry(main)> request.class
=> ServerRequest
[83] pry(main)> request.customfield_11169
NoMethodError: undefined method `customfield_11169' for #<ServerRequest:0x005634b57431b0>
from /home/user/.gem/ruby/gems/jira-ruby-1.1.0/lib/jira/base.rb:308:in `method_missing'
我試圖通過JIRA::Resource::Base
類閱讀,但我不知道我有多麼它的地圖我的方法上調用類的屬性哈希,或者一個清晰的認識,爲什麼我的擴展類不不是做同樣的事情。
完美答案。我讀入了'method_missing'方法,並能夠確定我沒有正確實例化'@ attrs'變量。在'initialize'方法中調用'super'解決了這個問題。 – thisguy123