Подтвердить что ты не робот

Как я могу использовать помощник rails "distance_of_time_in_words" в обычном старом рубине (без рельсов)

У Rails есть помощник, который преобразует расстояние времени в словах, используя distance_of_time_in_words

Что мне нужно включить, если я просто использую ruby ​​в приглашении irb для получения этой функции?

Я попробовал require 'action_view', но это не помогло.

Я также пробовал require 'active_support/core_ext', но это тоже не помогло.

4b9b3361

Ответ 1

Это должно работать:

require 'action_view'

include ActionView::Helpers::DateHelper

Оба они должны быть выполнены по нескольким причинам. Во-первых, вам потребуется библиотека, чтобы ее модули и методы были доступны для вызова. Вот почему вам нужно сделать require 'action_view'.

Во-вторых, поскольку distance_of_time_in_words - это модуль, который не стоит сам по себе, он должен быть включен в класс. Затем вы можете получить к нему доступ, вызвав distance_of_time_in_words в экземпляре этого класса.

Когда вы находитесь в консоли, у вас уже есть экземпляр класса Object. Вы можете проверить это, вызвав self в консоли irb. Когда вы вызываете include ActionView::Helpers::DateHelper, вы включаете эти методы для любого экземпляра класса Object. Поскольку это неявный приемник консоли irb, вы можете просто сохранить distance_of_time_in_words прямо на консоли и получить то, что хотите!

Надеюсь, что это поможет.

Джо