我有一张图片,根据点击的图片部分,我必须有 7 个不同的链接。我该如何使用rails呢?
3 回答
为了将来参考,您正在谈论“图像映射” - 这些有各种教程,例如 http://www.onextrapixel.com/2009/04/30/how-to-create-multiple-links-on-a -带有图像映射的单图像/
据我所知,这并不是一个真正的 Rails 问题,因为图像映射完全是前端的东西:就像 js 一样,它们只与浏览器中看到的页面相关。就 Rails 而言,当您单击链接时,它并不关心该链接是否在图像地图上。
因此,它只是一些您可以放入视图模板的原始 html。
我想您可以使图像映射数据驱动,例如,您将图像文件名存储在数据库中,然后将任何地图数据也保存在数据库中,在 image_maps 表中。仅当您想让图像映射用户可编辑时才值得这样做,例如闪烁。(flickr 可让您在现有照片上绘制一个矩形并用一些文本标记它)
只需使用 url_for 生成所需的 url
<img usemap="image_link" src="..." alt="" width="235" height="32" style="display: block;" />
<map name="image_link">
<area href="<%= url_for root_path %>" alt="Home" coords="0,0,189,19" shape="rect" />
<area href="<%= url_for :controller => "post", :action => "all" %>" alt="All posts" coords="190,0,386,22" shape="rect" />
<area href="<%= url_for new_resource1_path %>" alt="New resource1" coords="387,0,657,23" shape="rect" />
</map>
root_path 定义为主页,resource1 定义为 config/routes.rb 中的资源。
这更像是 javascript/flash 类型的东西。如果您确切地知道链接需要去哪里并且您不是在寻找用户单击的区域,那么您绝对可以使用链接定位 div,因为这只会在特定位置生成带有文本的链接。
听起来你需要制作一个 Flash 应用程序或做 javascript 解决方法。这不是 Rails 类型的问题,因此您的解决方案不会来自 Ruby/Rails。