11

こんにちは、初歩的な質問があります。次の HTML 結果を作成したいと考えています。

<a href="/controller/action" class="button-big layer">TEXT<span class="arrow-big"></span></a>

上記の HTML では、CSS を介して画像にスタイルを設定するためのスパンクラスを持つテキストが必要です。

次の実装を試すと、結果は必要な実装の一部だけを反映しています。

<%= link_to "TEXT", controller_path, :class => "button-big layer" %>

結果:

<a href="/controller/action" class="button-big layer">TEXT</a>

<%= link_to(content_tag(:span, "", :class => "arrow-big"), controller_path, :class => "button-big layer") %>

結果:

<a href="/controller/action" class="button-big layer"><span class="arrow-big"></span></a>

誰もが達成する方法を知っていますか?


反復関数

ハードウェアに行き詰まった - 複雑さを試す必要がある

time=0;
for (i=n; i>=1; i = sqrt(i))
 for (j=1; j<=i; j++)
 time++;

私がやったこと - 最初のループは次のようになります: i=n, n^(1/2), n^(1/4)...1 私たちが得るよりも:

n^(1/2)^k = 1 両側をログに記録すると、片側が 0 になります...どうすればよいですか?

4

4 に答える 4

30

link_toヘルパーの代替構文を使用してタグをネストすることもできます

<%= link_to controller_path, :class=> "button-big layer" do %>
  Text
  <%= content_tag(:span, "", :class => "arrow_big" %>
<% end %>
于 2012-03-10T13:42:49.360 に答える
10

テキストを「スパン」で連結するだけです。

<%= link_to(("TEXT" + content_tag(:span, "", :class => "arrow-big")).html_safe,
             controller_path,
             :class => "button-big layer") %>

+ 演算子は content_tag の HTML をエスケープするため、連結の前後に .html_safe が必要です。

于 2012-03-10T13:20:05.233 に答える
3

あなたの質問を読んで、私は私の問題を解決しました。あなたの質問に答える別の方法を提案します。

必要なこの種のリンクを作成するためのヘルパー メソッドを作成できます。こんなものでしょう

def link_with_text_and_span(href, text, span_options= {}, link_options = {})
    span_tag = content_tag(:span, span_options[:content] || '', :class => span_options[:class] || '')
    link_to(span_tag, href, :class => link_options[:class] || '')
  end

それについての良い点は、あなたのビューがきれいになることです。次に、ビューでこのヘルパー メソッドを呼び出すだけです。

  <%= link_with_text_and_span("/controller/action", "TEXT", {class: 'arrow-big'}, class: button-big) %>

PS: このコードは確実に改善できます。他のユーザーが望む場合は、改善してください。

于 2015-09-16T13:41:15.910 に答える
2

content_tag なしで使用できる別の方法を次に示します。最もクリーンではありませんが、機能します!

<%= link_to '<span class="arrow_big"></span>'.html_safe, controller_path, class: "button-big layer" %>
于 2013-09-14T23:29:46.307 に答える