2


次のようにビューに表示する、HTMLテキストとしてフォーマットされたテキストである属性:descriptionを持つ画像モデルがあります(たとえば、テキストにいくつかあります):

simple_format(@image.description)

raw(@image.description) は、主に同じことをすると思います。そのテキストへのリンクを含む link_to ヘルパーを追加するにはどうすればよいですか? 次のテキスト (@image.description になります) のようなものを探しています。

テキスト テキスト テキスト テキスト。

テキスト text #{link_to "Text", @image.link)

@image.link がリンクになります。これどうやってするの?

4

2 に答える 2

1

ERB を使用:

<%= raw ERB.new(@image.description).result(binding) %>

ヘルパー メソッドでラップします。

module ApplicationHelper
  def simple_format(content)
    ERB.new(content).result(binding).html_safe
  end
end

そして、次のように使用します。

<%= simple_format(@image.description) %>

画像の説明に使用できるコンテンツの例は次のとおりです。

Check out <%= link_to "the first image", image_path(1) %>!
于 2012-09-30T12:45:13.627 に答える
0

このビットのコードでこれを行うことができます

link_to raw(@image.description), @image.link

ランダムな単語を 1 つだけ選択する必要がある場合:

words = @image.description.split

link_to raw(words.sample), @image.link

アップデート:

たとえば、説明を作成するときに、リンクとして使用できる特別な記号を単語に追加できます。たとえば、括弧にすることができます。

@image.description = This my description with link (Hello) you can follow it!

@image.description.gsub(/\(([^\)]+)\)/, link_to('\1', @image.link))

以下が生成されます。

"This my description with link <a href=\"/\">Hello</a> you can follow it!"
于 2012-09-30T12:36:37.810 に答える