簡體   English   中英

Rails:將空標記和內容添加到link_to

[英]Rails: Adding an empty tag plus content to link_to

我正在嘗試使用link_to幫助器生成一個鏈接,該鏈接將輸出以下HTML:

<a href="some_url"><i class="some_class"></i>Link Name</a>

但是我用來試圖完成這個的代碼:

link_to(tag("i", class: options[:icon]) + title, url)

...正在輸出:

<a href="some_url"><i class="some_class">Link Name</i></a>

為什么這樣做,我該如何解決? 謝謝。

編輯:
我相信我發現了這個問題。

<i>標簽不是HTML5中可自行關閉的標簽。 因此, i之后的文本被視為該元素的內容。

您是否嘗試過使用link_to的塊格式?

<%= link_to url do %>
  <%= tag("i", class: options[:icon]) %>
  Link Name
<% end %>

根據您的需要調整,也許您會得到您正在尋找的東西。

這是我在我的應用程序中使用的圖標標記助手,我經常將其作為link_to的第一個參數傳遞,它可以單獨用於創建圖標標記,也可以用於文本后面的圖標標記。

  def icon_tag(icon, *args)
    options = args.extract_options!
    text = args.first || options.delete(:text)
    if text.nil?
      content_tag :i, "", class: ["icon", "icon-#{icon}"] + options[:class].to_a
    else
      "#{icon_tag icon} #{text}".html_safe
    end
  end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM