¿Es posible escribir un alcance con argumentos opcionales para que pueda llamar al alcance con y sin argumentos?¿Es posible tener un alcance con argumentos opcionales?
Algo así como:
scope :with_optional_args, lambda { |arg|
where("table.name = ?", arg)
}
Model.with_optional_args('foo')
Model.with_optional_args
puedo comprobar en el bloque lambda si se da una Arg (como se describe por Unixmonkey) pero en llamar el alcance y sin un argumento Tengo una ArgumentError: wrong number of arguments (0 for 1)
no usted desee incluir una reserva para cuando no se pasan argumentos? –
Obtuve un error si no paso un argumento: ArgumentError: número de argumentos incorrectos (0 para 1) – tonymarschall
Puede usar Proc.new en lugar de lambda para evitar el error del argumento. Vea este viejo debate sobre esto [aquí] (https://rails.lighthouseapp.com/projects/8994/tickets/90-enhancement-add-support-for-named-scopes-with-optional-arguments) – Christian