2014-09-23 4 views
0

Я знаю из учебника, что <%= controller.controller_name %> распечатывает имя контроллера.Отладка (узнайте), что имеет контроллер

Теперь я выясняю, как dumnp всю скрытую информацию в controller.

я попытался с

<%= debug(controller.instance_methods.to_yaml) if Rails.env.development? %> 
<%= debug(controller.to_yaml) if Rails.env.development? %> 

или с каждым, но ничего не работает. Пожалуйста, научите меня (без использования драгоценного камня), как увидеть всю приятную информацию.

+0

Try 'methods' вместо' instance_methods' – Santhosh

+0

Thx, который помог мне. вы можете объяснить мне их различия? – AdvanceInBeginning

ответ

1

Используйте Object#methods, чтобы получить все методы в объекте

controller.methods 

Module#intance_methods является метод класса, поэтому вы должны вызвать его с помощью класса.

controller.class.instance_methods 

Вы можете передать false не включать наследуемые методы

controller.class.instance_methods(false) 
0

Хотя я не очень понимаю ваш вопрос, это то, что вы хотите?

<%= debug(params) if Rails.env.development? %> 
Смежные вопросы