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

次のコードは、クエリを実行し、リレーションの形式で返され、指定された正規表現(この場合は。)と一致しない属性Key-Valueハッシュ内のすべてのアイテムを拒否します/^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 に答える