如何将类添加到 image_tag rails helper

Posted

技术标签:

【中文标题】如何将类添加到 image_tag rails helper【英文标题】:How to add class to an 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" >

为什么没有“类”属性?

谢谢!

【问题讨论】:

可能是因为你在 (: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 【参考方案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 本身)。但是,是的,这更好:)

以上是关于如何将类添加到 image_tag rails helper的主要内容,如果未能解决你的问题,请参考以下文章

如何从 rails image_tag 仅获取图像 src 属性?

将类属性添加到密码字段在 Rails 中不起作用

带有 image_tag 的 Rails3 邮件程序忽略主机

Rails 测试:在视图上测试 image_tag

Rails link_to image_tag - 使用 jQuery 获取点击时的 href 值

使用 image_tag 显示通过 CarrierWave 上传的图像