Ruby on rails onmouseover用于链接到图像标签

Ruby on rails onmouseover用于链接到图像标签,ruby-on-rails,Ruby On Rails,我有一个链接图像标签,我想在鼠标上方更改图像。我原以为以下操作可以,但图像没有打开鼠标盖: <%= link_to image_tag("new_step.png"),new_project_step_path(@project), :class=> "newStep", :onmouseover => "new_step_highlighted.png"%> 对于这两种情况,仅显示图像“new_step.png”。我该如何解决这个问题?提前感谢您的帮助 仅使用css,

我有一个链接图像标签,我想在鼠标上方更改图像。我原以为以下操作可以,但图像没有打开鼠标盖:

<%= link_to image_tag("new_step.png"),new_project_step_path(@project), :class=> "newStep", :onmouseover => "new_step_highlighted.png"%>

对于这两种情况,仅显示图像“new_step.png”。我该如何解决这个问题?提前感谢您的帮助

仅使用css,您需要将两个图像用作
链接到
标记(实际上是
a
标记)的背景属性。根据您编写的内容,您将一个图像“硬编码”到dom中,并使用
image\u标记
,您试图更改链接的背景属性,因为
newStep
实际上是
link\u to

<%= link_to "Text", new_project_step_path(@project), :class => "newStep" %>

这里是小提琴

事实证明,斯巴达的回答是正确的,只是我的图像路径实际上只是“/assets/new_step.png”。由于我的CSS文件存在问题,图像无法显示。

您可以不用修改CSS,只需较少的代码:

<%= link_to some_route_path do
    image_tag("find.png", onmouseover: "this.src='#{asset_path('find_sel.png')}'", onmouseout: "this.src='#{asset_path('find.png')}'")
end %>


谢谢您的帮助。我刚试过,加载页面时没有图像出现。我使用chrome inspector发现图像路径实际上是assets/new_step.png,所以我将css文件更改为url('/assets/new_step.png'),但图像仍然没有出现…这是图像url路径中的一个输入错误,开头是单引号,结尾是双引号吗?在inspector中,当您单击css中的图像链接时,图像是否出现了?哇,是的,这是一个输入错误;两端都应该有双引号。当我单击“new_step.png”时“css中的图像链接,new_step.png确实会出现。页面加载时似乎没有加载new_step_highlighted.png。此外,尽管css中的图像链接看起来确实有效,但图像本身并不显示在页面上。您认为“页面加载时似乎没有加载new_step_highlighted.png”是什么意思?当你点击css检查器链接时,这张图片会出现吗?对不起,我不确定我是否理解你的意思。当我在Chrome中打开inspector并转到“资源”选项卡时,图像“new_step.png”显示在我的图像文件夹下。它表示图像的url为:。如果转到链接,将显示高亮显示的图像。但是,这个文件没有出现在inspector中我的“images”文件夹中。这是一个老式的突兀JS,可能应该避免,但在必要的时候,这是在Rails 4之前使用的
:mouseover
选项
image\u tag
所做的。即使我不使用它,它也会起作用,所以你值得投票。
.newStep {
    display: inline-block;
    width: your-image-width;
    height: your-image-height;
    background: url('/assets/new_step.png');
}

.newStep:hover {
    background: url('/assets/new_step_highlighted.png');
}
<%= link_to some_route_path do
    image_tag("find.png", onmouseover: "this.src='#{asset_path('find_sel.png')}'", onmouseout: "this.src='#{asset_path('find.png')}'")
end %>