Там эквивалентно для print_r PHP в Ruby / направляющие?

Установите I18n Gem

и в config/environment/development.rb

добавьте эту строку

config.i18n.default_locale = :fr #:fr is for french language  for example

21
задан pirho 29 January 2009 в 12:36
поделиться

7 ответов

В шаблонах направляющих можно сделать

<%= debug an_object %>

и это сделает хороший HTML ПРЕД вывод.

33
ответ дан 29 November 2019 в 06:21
поделиться

Попытайтесь использовать стр. Необходимо будет потребовать его в сценариях (или в irb, если .irbc уже не сделает этого):

require 'pp'

Затем Вы можете 'PrettyPrint' объект таким образом:

pp object
15
ответ дан 29 November 2019 в 06:21
поделиться

Вместо того, чтобы требовать 'стр' и использовать стр, можно просто сделать

p object

Протестированный пример

require 'pp'

class A
  def initialize
    @a = 'somevar'
    @b = [1,2,3]
    @c = {'var' => 'val'}
  end
end

a = A.new
pp a # Gives -> #<A:0x2c6d048 @a="somevar", @b=[1, 2, 3], @c={"var"=>"val"}>
p a # Gives -> #<A:0x2c6d048 @a="somevar", @b=[1, 2, 3], @c={"var"=>"val"}>. No need to require 'pp'
10
ответ дан 29 November 2019 в 06:21
поделиться

Существует метод inspect который помогает. Иногда вызов to_s метод на объекте поможет (to_s, возвращает строковое представление объекта). Можно также запросить methods, local_variables, class_variables, instance_variables, constants и global_variables.

p ['Hello',"G'day",'Bonjour','Hola'].inspect
# >> "[\"Hello\", \"G'day\", \"Bonjour\", \"Hola\"]"

p ['Hello',"G'day",'Bonjour','Hola'].to_s
# >> "HelloG'dayBonjourHola"

p Array.new.methods
# >> ["select", "[]=", "inspect", "compact"...]

monkey = 'baboon'
p local_variables
# >> ["monkey"]

class Something
  def initialize
    @x, @y = 'foo', 'bar'
    @@class_variable = 'gorilla'
  end
end

p Something.class_variables
# >> ["@@class_variable"]

s = Something.new
p s.instance_variables
# >> ["@x", "@y"]

p IO.constants
# >> ["TRUNC", "SEEK_END", "LOCK_SH"...]

p global_variables
# >> ["$-d", "$\"", "$$", "$<", "$_", "$-K"...]
6
ответ дан 29 November 2019 в 06:21
поделиться

Проверьте руководство для отладки направляющих: http://guides.rubyonrails.com/debugging_rails_applications.html

подсказки: сценарий/консоль является большим попробовать материал в контексте Вашего сценария приложений / сервер - отладчик для запуска сервера с включенного отладчика, можно затем использовать 'отладку' в коде для вторжения в интерактивную оболочку

2
ответ дан 29 November 2019 в 06:21
поделиться

Один из подходов, на который я часто опираюсь, заключается в следующем:

logger.debug "OBJECT: #{an_object.to_yaml}"

Легко читать, хотя для больших объектов он может стать немного громоздким.

1
ответ дан 29 November 2019 в 06:21
поделиться

Думаю, я немного опоздал с этим , а как насчет logger.info [отладка | предупреждение]? Используйте это из контроллеров и моделей. Он будет отображаться в ваших файлах журнала (development.log в режиме разработки); и вышеупомянутый <% = debug ("str:" + str)%> для представлений.

Это не точные ответы на ваши вопросы, но вы также можете использовать скрипт / консоль для загрузки вашего приложения rails в интерактивный сеанс.

Наконец, вы можете поместить отладчик в строку вашего приложения rails, и браузер "зависнет", когда ваше приложение выполнит эту строку, и вы сможете находиться в сеансе отладки, начиная с той строки, в которую вы поместили отладчик. исходный код.

t точные ответы на ваши вопросы, но вы также можете использовать скрипт / консоль для загрузки вашего приложения rails в интерактивный сеанс.

Наконец, вы можете поместить отладчик в строку вашего приложения rails, и браузер "зависнет", когда ваше приложение выполнит эту строку, и вы сможете находиться в сеансе отладки, начиная с той строки, в которую вы поместили отладчик. исходный код.

t точные ответы на ваши вопросы, но вы также можете использовать скрипт / консоль для загрузки вашего приложения rails в интерактивный сеанс.

Наконец, вы можете разместить отладчик в строке вашего приложения rails, и браузер "зависнет", когда ваше приложение выполнит эту строку, и вы сможете находиться в сеансе отладки, начиная с той строки, в которую вы поместили свой отладчик. исходный код.

0
ответ дан 29 November 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: