Quiero escribir un named scope para obtener un registro de su identificación.¿Cómo puedo hacer que named_scope en Rails devuelva un valor en lugar de una matriz?
Por ejemplo, tengo un modelo llamado Event
, y quiero simular Event.find(id)
con el uso de named_scope
para flexibilidad futura.
que utiliza este código en mi modelo:
named_scope :from_id, lambda { |id| {:conditions => ['id= ?', id] } }
y me llaman de mi controlador como Event.from_id(id)
. Pero mi problema es que devuelve una matriz de Event
objetos en lugar de un solo objeto.
Así, si quiero obtener el nombre del evento, tengo que escribir
event = Event.from_id(id)
event[0].name
, mientras que lo que quiero es
event = Event.from_id(id)
event.name
Estoy haciendo algo mal aquí?
Hola Jimmy Gracias por la respuesta rápida.Por qué quiero tener un alcance con nombre es (como mencioné en el comentario de Damien) porque más adelante podría querer obtener solo los eventos activos Entonces, puedo cambiar solo el alcance nombrado sin romper el código existente (como solo agregar activo = 1) Déjenme saber sus comentarios, vivas, sameera – sameera207