название модели к названию контроллера - PullRequest
6 голосов
/ 27 октября 2009

Как я могу получить имя контроллера из объекта, если я не знаю, что это за объект?

Я пытаюсь сделать:

object.class.tableize

но Rails говорит:

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

Я попытался добавить демодулирование с тем же результатом.

спасибо

Ответы [ 2 ]

17 голосов
/ 27 октября 2009
object.class.to_s.tableize
1 голос
/ 26 июля 2013

По семантическим причинам вы можете сделать:

object.class.name #=> 'FooBar'

Вы также можете использовать tableize с этой последовательностью, например:

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

Я предпочитаю так из-за читабельности.

Также обратите внимание, что tableize также делает множественное число. Если нежелательно использовать underscore.

Надеюсь, это кому-нибудь поможет, даже если это старая ветка :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...