1. simple_format メソッド

  • 機能: 文字列内の改行文字(\n)をHTMLの<p>(段落)または<br>(改行)タグに変換
    => このメソッドはシンプルなテキストフォーマッティングに有用であり
    => ユーザー入力をWebページに安全に表示する際に適している
  • :
text = "最初の段落です。\n\n二番目の段落、ここにも改行があります。\nここは同じ段落。"
formatted_text = simple_format(text)
# 結果: "<p>最初の段落です。</p><p>二番目の段落、ここにも改行があります。<br />ここは同じ段落。</p>"

simple_formatは2つの連続した改行文字を新しい段落(<p>タグ)に、単一の改行文字を改行(<br>タグ)に変換

2. truncate メソッド

  • 機能: 指定された長さを超える文字列を切り捨て、代わりに省略記号(デフォルト:"...")を追加
    => 主に長いテキストを要約して表示する際に使用
  • :
text = "これは切り捨てられる長い文字列です。ここで文字列は指定された長さに応じて切り捨てられます。"
truncated_text = truncate(text, length: 20)
# 結果: "これは切り捨てられる長い文字列です..."

truncateメソッドはlengthオプションで指定された長さに合わせて文字列を切り捨て、省略記号を追加

3. excerpt メソッド

  • 機能: 指定された文字列から特定の単語や句を中心に、周辺の文字列を含めて抜粋
    => 抜粋の範囲はradiusオプションで調整可能
    => テキスト内で検索語の位置を強調するか、検索結果などで使用
  • :
text = "ここには皆さんが探している単語が含まれた例文があります。"
excerpt_text = excerpt(text, "探している", radius: 10)
# 結果: "...皆さんが探している単語が含まれた例..."

excerptメソッドは指定されたradius値に応じて検索語の前後に一定の文字数を含めて抜粋し、検索語の文脈を把握可能

4. cycle メソッド

  • 機能: 与えられた値を順番に繰り返して返す
    => 主にテーブル行やリスト項目の背景色を交互に指定する際に使用

  • :

# ERBテンプレート例
<% @items.each do |item| %>
  <tr class="<%= cycle('odd', 'even') %>">
    <td><%= item.name %></td>
  </tr>
<% end %>

この例ではテーブルの行ごとにoddevenクラスを交互に適用
結果的に、行の背景色をCSSでoddevenクラスに応じて異なるものに指定可能

5. highlight メソッド

  • **

機能**: 指定されたキーワードを文書内で見つけてハイライト表示
=> 検索結果や重要なキーワードを強調する際に有用
=> ハイライトに使用されるタグやクラスはユーザーが指定可能

  • :
text = "ここにハイライトされる特定のキーワードが含まれた文章があります。"
highlighted_text = highlight(text, "特定のキーワード", highlighter: '<em class="highlight">\1</em>')
# 結果: "ここにハイライトされる<em class="highlight">特定のキーワード</em>が含まれた文章があります。"

指定されたキーワードを見つけ、提供されたhighlighterオプションに従って囲んで返す

6. concat メソッド

  • 機能: ブロック内部で文字列を直接出力できるようにするメソッド
    => 主にビューテンプレート内で使用
    => 複雑なロジック処理後の結果を直接出力する際に有用
  • :
# ERBテンプレート例
<% concat(content_tag(:div, class: "special") do %>
  ここには特別な内容が入ります。
<% end) %>

このコードは<div>タグを作成し、"special"クラスを適用した後、その中に"ここには特別な内容が入ります。"というテキストを直接出力
=> concatメソッドを使用すると、ブロックの結果を直接ビューに挿入可能

0개의 댓글

Powered by GraphCDN, the GraphQL CDN