link_to图片标签。 如何将类添加到标记
我正在使用link_to img标签,如下所示
<%= link_to image_tag("Search.png", :border=>0, :class => 'dock-item'), :action => 'search', :controller => 'pages'%><span>Search</span></a>
这导致下面的HTML
<a href="/pages/search"><img alt="Search" border="0" class="dock-item" src="http://img.dovov.comSearch.png?1264132800" /></a><span>Search</span></a>
我希望class =“dock-item”转到<a>
标签,而不是img标签。
我怎样才能改变这个?
更新:
<%= link_to image_tag("Search.png", :border=>0), :action => 'search', :controller => 'pages', :class => 'dock-item' %>
结果是
<a href="/pages/search?class=dock-item"><img alt="Search" border="0" src="http://img.dovov.comSearch.png?1264132800" /></a>
嗨,你可以尝试这样做
link_to image_tag("Search.png", border: 0), {action: 'search', controller: 'pages'}, {class: 'dock-item'}
甚至
link_to image_tag("Search.png", border: 0), {action: 'search', controller: 'pages'}, class: 'dock-item'
请注意,大括号的位置是非常重要的,因为如果你错过了它们,rails会认为它们形成一个散列参数( 在这里阅读更多关于这个)
并根据api的link_to :
link_to(name, options = {}, html_options = nil)
- 第一个参数是要显示的string(或者它也可以是一个image_tag)
- 第二个是链接的url的参数
- 最后一项是用于声明html标签的可选参数,例如class,onchange等
希望能帮助到你! =)
只要添加一下,你可以传递一个block的link_to
方法:
<%= link_to href: 'http://www.example.com/' do %> <%= image_tag 'happyface.png', width: 136, height: 67, alt: 'a face that is unnervingly happy'%> <% end %>
结果是:
<a href="/?href=http%3A%2F%2Fhttp://www.example.com/k%2F"> <img alt="a face that is unnervingly happy" height="67" src="/assets/happyface.png" width="136"> </a>
当devise师给我复杂的链接和幻想css3翻转效果时,这是一个生命的救星。
最好的将是:
link_to image_tag("Search.png", :border => 0, :alt => '', :title => ''), pages_search_path, :class => 'dock-item'
这是我的解决scheme:
<%= link_to root_path do %> <%= image_tag "image.jpg", class: "some class here" %> <% end %>
简单:
<%= link_to image_tag("Search.png", :border=>0), :action => 'search', :controller => 'pages', :class => 'dock-item' %>
link_to的第一个参数是要链接的文本/ html(在a标签内)。 下一组参数是url属性和链接属性本身。
要回应您的更新的问题,根据http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html …
使用旧的参数样式时要小心,因为需要额外的文字哈希值:
link_to "Articles", { :controller => "articles" }, :id => "news", :class => "article" # => <a href="/articles" class="article" id="news">Articles</a>
离开散列给出了错误的链接:
link_to "WRONG!", :controller => "articles", :id => "news", :class => "article" # => <a href="/articles/index/news?class=article">WRONG!</a>
整个:action =>, :controller =>
位,我见过很多没有为我工作。
花了几个小时挖,这个方法肯定对我来说是一个循环。
<%=link_to( image_tag(participant.user.profile_pic.url(:small)), user_path(participant.user), :class=>"work") %>
Ruby on Rails使用link_to和image_tag
另外,我正在使用Rails 4。
嘿家伙这是一个很好的方式链接瓦特/图像,并有很多道具,如果你想CSS属性例如replace“ALT”或“标题”等…..还包括逻辑限制(?)
<%= link_to image_tag("#{request.ssl? ? @image_domain_secure : @image_domain}http://img.dovov.comlinkImage.png", {:alt=>"Alt title", :title=>"Link title"}) , "http://www.site.com"%>
希望这可以帮助!
<%= link_to root_path do %><%= image_tag("Search.png",:alt=>'Vivek',:title=>'Vivek',:class=>'dock-item')%><%= content_tag(:span, "Search").html_safe%><% end %>
你也可以试试这个
<li><%= link_to "", application_welcome_path, class: "navbar-brand metas-logo" %></li>
其中“metas-logo”是一个带有背景图片的css类
我也尝试过,效果很好:
<%= link_to home_index_path do %> <div class='logo-container'> <div class='logo'> <%= image_tag('bar.ico') %> </div> <div class='brand' style='font-size: large;'> .BAR </div> </div> <% end %>