访问对象的特定属性

时间:2018-04-17 15:24:17

标签: ruby shopify

您好我有以下对象

object =  [#<ShopifyAPI::DiscountCode:0x000000000e1c78a8 @attributes={"code"=>"Disc2", "amount"=>"1.00", "type"=>"percentage"}, @prefix_options={}, @persisted=true>]

如何正确访问该对象的“代码”名称?

我尝试过对象[:code]和object.code,但看起来我忽略了一些东西。

3 个答案:

答案 0 :(得分:1)

object是ShopifyAPI :: DiscountCode的数组。 访问它的最佳方式是

object[0].attributes['code']

如果您想要数组中所有可用对象的代码,您可以通过

获取值数组
object.map { |obj| obj.attributes['code'] }

答案 1 :(得分:1)

鉴于这是Array ShopifyAPI::DiscountCode s(继承自ActiveResource::Base

您可以在其上调用code方法。例如:

object[0].code 
#=> "Disc2"
object.map(&:code) 
#=> ["Disc2"]

答案 2 :(得分:0)

首先,对象是数组:

obj0 = object[0]

其次,这是实例变量:

attributes = obj0.instance_variable_get(:@attributes)

最后,按键获取值:

attributes['code']