【问题标题】:Rails : complex html <a> into link_to helperRails:复杂的html <a> 到link_to helper
【发布时间】:2012-11-09 01:59:52
【问题描述】:

如果我想使用 rails &lt;%= link_to %&gt; helper,如何转换此链接?

这是我的链接:

<a id="landing_link" href="#landing"><div id="headerlogo"></div></a>

另一个问题是链接是锚链接。在另一个页面的 link_to 中,我如何将其链接到页面(例如索引)然后链接到锚点?

【问题讨论】:

    标签: ruby-on-rails ruby hyperlink


    【解决方案1】:

    您可以将do 块用于link_to:

    The documentation ;他们的例子:

    <%= link_to(@profile) do %>
      <strong><%= @profile.name %></strong> -- <span>Check it out!</span>
    <% end %>
    # produces the following HTML:
    <a href="/profiles/1">
      <strong>David</strong> -- <span>Check it out!</span>
    </a>
    

    就你而言&lt;a id="landing_link" href="#landing"&gt;&lt;div id="headerlogo"&gt;&lt;/div&gt;&lt;/a&gt;变成

    <%= link_to '#landing', :id => 'landing_link' do %>
      <div id="headerlogo"></div>
    <% end %>
    

    【讨论】:

      【解决方案2】:
      <%= link_to "", "#landing", :id => 'landing_link' do %>
        <div id="headerlogo"></div>
      <% end %>
      

      【讨论】:

        【解决方案3】:

        类似的东西

        <%= link_to content_tag(:div, '', :id=>'headerlogo'), '#landing', :id=>'landing_link' %>
        

        【讨论】:

          【解决方案4】:

          您可以将块传递给 link_to 辅助方法: (HAML)

          = link_to("#landing", :id => "landing_link") do 
            .headerlogo 
          

          【讨论】:

          • 我注意到,您正在使用 id 来选择视图中的 DOM 元素。在最佳 Rails 实践中指出,在视图(样式表)中,DOM 元素是按类选择的,而在 .js (.coffee) 中是按 ID 选择的。
          猜你喜欢
          • 2015-06-21
          • 2013-07-22
          • 1970-01-01
          • 2023-04-04
          • 2014-01-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-17
          相关资源
          最近更新 更多