1

我有以下方法:

def item(*args, &block)
  options = args.extract_options!
  options.reverse_update({
    brand: false,
    icon: false,
  })
  # Do some stuff
end

而这个方法:

def brand(*args, &block)
  options = args.extract_options!
  options[:brand] = true

  self.item(???, &block) # How does this call have to look?
end

最后第二行很有趣。我想用与调用方法item完全相同的参数来brand调用 (除了我添加了另一个参数,brand)。

4

1 回答 1

4

我会写:

def brand(*args, &block)
  options = args.extract_options!
  options[:brand] = true

  self.item(*(args+[options]), &block)
end
于 2012-09-14T11:15:42.370 回答