【问题标题】:How to add class to an image_tag rails helper如何将类添加到 image_tag rails helper
【发布时间】:2012-01-06 14:06:39
【问题描述】:

我有以下代码:

<%= image_tag iterator.image.url(:small), :class => "img_preview" %>

但呈现的 HTML 显示:

<img src="/actives/hotels/13/small/clean_wave.jpg?1317675452" alt="Clean_wave">

为什么没有“类”属性?

谢谢!

【问题讨论】:

  • 可能是因为你在 (:small) 周围的括号... 试试 image_tag(iterator.image.url(:small), :class=> "img_preview") (周围都是括号)跨度>
  • Noup.... 那也没用 =S
  • 我用这种方式,这里有效。 &lt;%= image_tag 'delete.png', :class =&gt; "ajax-delete" %&gt;&lt;img src="/images/delete.png?1322020304" class="ajax-delete" alt="Delete"&gt;
  • 你拥有它的方式应该可以工作......必须有其他事情发生。您可以发布其余的视图代码吗?您是否有影响此视图的可能有问题的 javascript?

标签: ruby-on-rails image helper lccs


【解决方案1】:

您的类必须在括号内分配,才能用作传递的选项的一部分。试试:

<%= image_tag(iterator.image.url(:small), :class => "img_preview") %>

【讨论】:

  • 这样你将:class 选项传递给url 方法,这不太可能起作用(为什么url 方法知道它正在使用什么HTML标签在?)。我感觉你真正的意思是image_tag(iterator.image.url(:small), :class =&gt; "img_preview")
【解决方案2】:

对于像我这样的新手,这里有一个更简洁的版本,带有更新的 rails 语法:

<%= image_tag iterator.image.url(:small), class:"img_preview" %>

【讨论】:

  • 接受的代码有效,但这更干净。谢谢!
  • 为了挑剔,class"img_preview" 之间应该有一个空格。此外,这种语法来自 Ruby 1.9+,它并不特定于 Rails(只是 Ruby 本身)。但是,是的,这更好:)
猜你喜欢
  • 1970-01-01
  • 2011-11-14
  • 1970-01-01
  • 1970-01-01
  • 2013-07-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-08
  • 1970-01-01
相关资源
最近更新 更多