Обтекающий текст в строки на границах слова

1) Я хочу к автоматическому переносу текст словами так, чтобы каждая строка не превышала 56 символов. Существует ли метод для того, чтобы сделать это, или я должен прокрутить свое собственное?

@comment_text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."

Мое представление:

<%= @comment_text.cool_string_function( 56 ) %>

представил бы:

Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod tempor incididunt ut labore et 
dolore magna aliqua.

2) Я хочу расположить текст с отступом 4 пробелами так, чтобы:

<%= @comment_text.cool_string_function( {:width => 56, :indent => 4} ) %>

представил бы:

    Lorem ipsum dolor sit amet, consectetur adipisicing
    elit, sed do eiusmod tempor incididunt ut labore et 
    dolore magna aliqua.
12
задан sawa 8 October 2012 в 23:04
поделиться

2 ответа

Я полагаю, что функция, которую вы ищете, это word_wrap. Что-то вроде этого должно сработать:

<%= word_wrap @comment_text, :line_width => 56 %>

Вы можете объединить это с gsub, чтобы получить желаемый отступ:

<%= word_wrap(@comment_text, :line_width => 52).gsub("\n", "\n    ") %>

Но вам, вероятно, следует перенести это в вспомогательный метод, чтобы сохранить чистоту вида.

19
ответ дан 2 December 2019 в 05:27
поделиться

Возможно, вам поможет word_wrap помощник.

Для отступа текста вы можете заменить \ n (новая строка) новой строкой + 4 пробела.

9
ответ дан 2 December 2019 в 05:27
поделиться
Другие вопросы по тегам:

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