rails 3.1, — !карта: ActiveSupport::HashWithIndifferentAccess?

#ruby-on-rails #ruby-on-rails-3.1

#ruby-on-rails #ruby-on-rails-3.1

Вопрос:

Я создаю проект в rails 3.1, и у меня всегда печатается это сообщение, когда я делаю:

 debug params
 

— !карта:ActiveSupport::HashWithIndifferentAccess

Может ли кто-нибудь объяснить это сообщение об ошибке?? и почему — !карта??

Комментарии:

1. Попробуйте выполнить puts params.inspect в действии.

Ответ №1:

Это не сообщение об ошибке. Метод debug преобразует объект, который вы ему передаете, в YAML (способ сериализации объектов в строку, похожий на XML или JSON) и распечатывает его. Это --- !map всего лишь часть формата YAML (см. http://yaml.org/spec/1.2/spec.html ) и ActiveSupport::HashWithIndifferentAccess является именем класса params .

Вместо того, чтобы использовать debug , выполните

 p params
 

или

 puts params.inspect
 

Оба покажут вам более хороший результат.

Комментарии:

1. спасибо за разъяснения, я попробовал p params, но puts params.inspect ничего не показал