1

有什么想法可以让它发挥作用吗?我这辈子都想不通。

def get_prices(c)
  @print_prices = {}
  Billing.where(:name => c).column_names.each do |d|
    if d.match(/^print_/)
      @print_prices[d] = d.value
    end
  end
  return @print_prices
end

我不知道用什么代替d.value

为任何帮助而欢呼。

4

1 回答 1

1

以下代码将执行查询,以关系的形式返回,并拒绝属性键值哈希中与给定正则表达式不匹配的所有项目,在本例中为/^print_/.

def get_prices(c)
  Billing.where(:name => c).first.attributes.reject{ |i| !i.match(/^print_/) }
end

或者,它也可以写成:

def get_prices(c)
  Billing.where(:name => c).first.attributes.select{ |i| i.match(/^print_/) }
end
于 2012-10-23T01:58:51.987 回答