我有这个数组:
[:dk, #<Domain dk: 8, id: 12, se: 5, com: 5>]
我想选择dk: 8 ?
输入为:8
我的观点:
<% @prices.each do |price| %>
<%= price %><br />
<% end %>
输出:
[:dk, #<Domain dk: 8, id: 12, se: 5, com: 5>]
[:com, #<Domain dk: 8, id: 12, se: 5, com: 5>]
我的控制器:
def domain
country_codes = %w[ dk com ]
@domain = "asdsad"
@results = { }
@prices = { }
country_codes.each do |cc|
@results[cc] = Whois.whois("#{@domain}.#{cc}")
@prices[cc.to_sym] = Domain.order(cc).first
end
render :layout => false
end
答案 0 :(得分:2)
你没有数组,你有一个哈希。
这样做:
<% @prices.each do |cc,domain| %>
<%= domain.send(cc) %><br />
<% end %>
所以:
#<Domain dk: 8, id: 12, se: 5, com: 5>.send(:dk) # => 8
#<Domain dk: 8, id: 12, se: 5, com: 5>.send(:com) # => 5
根据要求,进一步解释。
您创建了一个哈希:@prices = { }
然后填写:@prices[cc.to_sym] = Domain.order(cc).first
最新的方法是将一个对象添加到哈希:Domain.order(cc).first
,使用它的键:cc.to_sym