调试输出如下所示:
!ruby/object:Business
attributes:
business_type: 8
type_count: 2
但是我如何访问这些属性?
我在这里感觉很愚蠢:/
编辑: 我认为还有一些代码:
<% @serviceSections.each do |k,v| %>
<% c = @bc.select{|s| s.business_type == k} %>
<%= debug(c.type_count) %>
<% end %>
这只是给了我错误
undefined method `type_count' for [# < Business business_type: 8>]:Array
编辑2
我基本上是个白痴:-)已经晚了......
我所需要做的就是实际检查:
<% if !c.respond_to?("type_count") %>
最佳答案
Business.business_type # => 8
Business.type_count # => 2
这要求在您的 Business 类中定义一个属性读取器,通常如下所示:
class Business
attr_reader :business_type, :type_count
# more code ...
end
如果您还想设置
值,则应该定义一个属性访问器:
class Business
attr_accessor :business_type, :type_count
# more code ...
end
然后您可以:
Business.business_type = 17
Business.type_count = 22
关于ruby - 如何访问 Ruby/对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14314492/