【问题标题】:Can I use link_to to link an image and a text我可以使用 link_to 链接图像和文本吗
【发布时间】:2013-06-01 13:49:47
【问题描述】:

嗯,我正在使用“font-awesome-rails”gem。我非常习惯于在 Rails 之外使用令人敬畏的字体,但我想它在 Rails 社区中并不那么受欢迎。

安装后,它会使用以下格式创建图标

<i class="nameoftheicon"> </i>

我想将它用于我的网站徽标,该徽标将由 font-awesome 中的图标和一些文本组成。所以我尝试了:

<%= link_to "", root_path, class: "icon-puzzle-piece icon-2x" %>
<%=  link_to "My site", root_path, id: 'logo'  %>

它有效,但是当我悬停时,它们充当两个不同的元素。

  1. Rails 将图像和文本组合在单个 &lt;a&gt; 标记下的方式是什么。

  2. 是否有任何流行的 Rails 替代 font-awesome?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 erb font-awesome


    【解决方案1】:

    将块传递给link_to,块将被链接

    <%= link_to path, id: "logo" do %>
      <i class="icon-puzzle-piece icon-2x"></i>
      My Super Site
    <% end %>
    

    【讨论】:

    • @TradeRaider 太棒了!请标记为正确答案(点击绿色箭头)
    • @JesseWolgamott:不小心否决了你的答案,我想投赞成票。如果你编辑它,我可以投票。
    【解决方案2】:

    试试看,

    你可以直接在link_to中提到rails image_tag,

    <%= link_to image_tag("image_name")+"your text", root_path, :class=>"icon-puzzle-piece icon-2x" %>
    

    【讨论】:

      【解决方案3】:

      是的,你可以。对于图像等复杂的锚点,只需删除第一个参数(链接文本或锚点),并在方法后附加一个块。

      link_to(root_path){<i class="icon"></i>}
      

      块内的内容将成为锚。

      【讨论】:

      • 嗨@BillyChan,你确定Rails 3.2 支持这个吗?我越来越奇怪“Pages#home 中的语法错误”。
      • @TradeRaider,它当然有效,我经常使用它。这是 link_to 的源代码,你可以看到它是如何与块一起工作的。如果阻塞,它将用作链接文本。 github.com/rails/rails/blob/…
      • 出于某种奇怪的原因,它适用于 do..end 块,但不适用于大括号(也许只是我,我不知道)。
      • @TradeRaider,这很奇怪。不管怎样,很高兴你让它工作了。
      【解决方案4】:

      嘿,伙计们,这是一个带图像的链接的好方法(它有很多道具,以防你想要 css 属性,例如替换“alt”或“title”等)

      <%= link_to image_tag("#{request.ssl? ? @image_domain_secure : @image_domain}/images/linkImage.png", {:alt=>"Alt title", :title=>"Link title"}) , "http://www.site.com"%>
      

      希望这会有所帮助!

      【讨论】:

        【解决方案5】:

        是的,您使用矢量字体作为图像,但您也可以使用 image_tag,例如:

        <%= link_to user_root_path, :class=> "user" do
              image_tag("image.jpg", :alt => current_user.name) +
              t("dashboard.my_account")
            end %>
        

        不要忘记用“+”将它们链接在一起

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-07-07
          • 2011-06-17
          • 2012-08-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多