Как я могу сделать помощника, который скажет мне, сколько недель назад (округлено) с рельсами? Это может быть основано на time_ago_in_words
помощника, однако я хочу, чтобы вернуться: «на прошлой неделе», то потом просто two weeks ago
, three weeks ago
и т.д ...Как я могу сделать помощник `week_ago`?
0
A
ответ
4
Попробуйте это:
def my_time_ago_in_words(from_time, include_seconds = false)
to_time = Time.now
weeks_ago = ((to_time - from_time)/1.week).abs
[nil, "last week", "two weeks ago", "three weeks ago"][weeks_ago] ||
distance_of_time_in_words(from_time, to_time, include_seconds)
end
Эта функция будет вести себя то же, что и time_ago_in_words
. Когда from_time
находится между 1 - 3 неделей назад, это напечатает last week
, two weeks ago
, three weeks ago
, иначе оно напечатает обычное.
0
Это был бы хороший патч distance_of_time_in_words:
0
Кроме того, вы можете написать собственные описания времени для других уровней (день, месяц, год).
http://robots.thoughtbot.com/post/392707640/the-more-you-know-custom-time-descriptions
Смежные вопросы
- 1. Как я могу 'refreseh' 'помощник' в Mojolicious?
- 2. Как сделать метеорный помощник неактивным?
- 3. Как сделать помощник класса Color?
- 4. Как я могу сделать этот код (помощник) DRY в Rails, где я звоню в похожие модели?
- 5. Как я могу сделать простое окно, которое я могу сделать?
- 6. В Symfony, как я могу использовать помощник url_for в классе?
- 7. Как я могу поместить текст в HTML-помощник текстового поля?
- 8. Как я могу превратить эту строку HTML в HTML-помощник?
- 9. Как я могу протестировать HTML-помощник, который выполняет вызов действия?
- 10. показать week_ago на основе номера недели?
- 11. Как сделать модульный помощник в Синатрах
- 12. Как я могу сделать перевод? сделать это?
- 13. CodeIgniter - Как сделать функцию, которая расширяет помощник?
- 14. Как я могу это сделать?
- 15. Как я могу сделать ограничение?
- 16. Как я могу сделать скрипт?
- 17. Как я могу сделать перерыв?
- 18. Как я могу сделать наклон
- 19. Как я могу это сделать?
- 20. Как я могу сделать анимацию?
- 21. Как я могу сделать полумесяц?
- 22. Как я могу сделать объект?
- 23. Как я могу сделать дело?
- 24. Как я могу сделать таймер?
- 25. Как я могу сделать квадраты?
- 26. Как я могу сделать подменит
- 27. Могу ли я использовать встроенный помощник RSpec в пользовательском совпадении?
- 28. jQueryUI Помощник Помощника Помощник Помощник
- 29. Как я могу что-то сделать x раз в Handlebars
- 30. Как я могу сделать как изображение ниже?
Я бы рекомендовал имя 'weeks_ago_in_words', так как он более описательный фактического содержания метода. – Matchu
Эта функция действительно является патчем к 'time_ago_in_words', поскольку она сохраняет существующие функции функции. Правильный подход заключается в исправлении 'time_ago_in_words', возможно, используя' alias_method_chain'. –