simple_format
メソッド\n
)をHTMLの<p>
(段落)または<br>
(改行)タグに変換text = "最初の段落です。\n\n二番目の段落、ここにも改行があります。\nここは同じ段落。"
formatted_text = simple_format(text)
# 結果: "<p>最初の段落です。</p><p>二番目の段落、ここにも改行があります。<br />ここは同じ段落。</p>"
simple_format
は2つの連続した改行文字を新しい段落(<p>
タグ)に、単一の改行文字を改行(<br>
タグ)に変換
truncate
メソッド"..."
)を追加text = "これは切り捨てられる長い文字列です。ここで文字列は指定された長さに応じて切り捨てられます。"
truncated_text = truncate(text, length: 20)
# 結果: "これは切り捨てられる長い文字列です..."
truncate
メソッドはlength
オプションで指定された長さに合わせて文字列を切り捨て、省略記号を追加
excerpt
メソッドradius
オプションで調整可能text = "ここには皆さんが探している単語が含まれた例文があります。"
excerpt_text = excerpt(text, "探している", radius: 10)
# 結果: "...皆さんが探している単語が含まれた例..."
excerpt
メソッドは指定されたradius
値に応じて検索語の前後に一定の文字数を含めて抜粋し、検索語の文脈を把握可能
cycle
メソッド機能: 与えられた値を順番に繰り返して返す
=> 主にテーブル行やリスト項目の背景色を交互に指定する際に使用
例:
# ERBテンプレート例
<% @items.each do |item| %>
<tr class="<%= cycle('odd', 'even') %>">
<td><%= item.name %></td>
</tr>
<% end %>
この例ではテーブルの行ごとにodd
とeven
クラスを交互に適用
結果的に、行の背景色をCSSでodd
とeven
クラスに応じて異なるものに指定可能
highlight
メソッド機能**: 指定されたキーワードを文書内で見つけてハイライト表示
=> 検索結果や重要なキーワードを強調する際に有用
=> ハイライトに使用されるタグやクラスはユーザーが指定可能
text = "ここにハイライトされる特定のキーワードが含まれた文章があります。"
highlighted_text = highlight(text, "特定のキーワード", highlighter: '<em class="highlight">\1</em>')
# 結果: "ここにハイライトされる<em class="highlight">特定のキーワード</em>が含まれた文章があります。"
指定されたキーワードを見つけ、提供されたhighlighter
オプションに従って囲んで返す
concat
メソッド# ERBテンプレート例
<% concat(content_tag(:div, class: "special") do %>
ここには特別な内容が入ります。
<% end) %>
このコードは<div>
タグを作成し、"special"
クラスを適用した後、その中に"ここには特別な内容が入ります。"というテキストを直接出力
=> concat
メソッドを使用すると、ブロックの結果を直接ビューに挿入可能