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

興味深いのは、最後の 2 行目です。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 に答える