2009-10-27 31 views
6

¿Cómo puedo obtener el nombre del controlador fuera del objeto si no sé cuál es el objeto?nombre del modelo al nombre del controlador

estoy tratando de hacer:

object.class.tableize 

pero Carriles dice:

undefined method `tableize' for #<Class:0xb6f8ee20> 

He intentado añadir demodulize con el mismo resultado.

gracias

Respuesta

17
object.class.to_s.tableize 
1

Por razones semánticas, es posible que desee hacer:

object.class.name #=> 'FooBar' 

También puede utilizar tableize con esta secuencia, así:

object.class.name.tableize #=> 'foo_bars' 

prefiero de esa manera debido a la legibilidad.

Además, tenga en cuenta que tableize también tiene pluralización. Si no lo deseas, usa underscore.

Espero que ayude a cualquiera, incluso si es un hilo antiguo :)

Cuestiones relacionadas