Rails:我怎么写这个如果它返回nil就不会失败?

时间:2012-10-30 23:59:54

标签: ruby-on-rails-3

我只是不确定如何最好地写它。干杯!

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

2 个答案:

答案 0 :(得分:2)

一种方法:

def get_prices(c)
  billings = Billing.where(:name => c)
  @print_prices = billings.first.attributes.select{ |i| i.match(/^print_/) } unless billings.empty?
end

答案 1 :(得分:1)

你应该存储Billing.where(:name => c).first的返回值并测试它。