ruby-on-rails - Rails lightbox2 ActionController::RoutingError
问题描述
我正在尝试将 lightbox2 实现到一个相当简单的 rails 5 应用程序中,并且似乎收到以下错误:
ActionController::RoutingError (No route matches [GET] "/images/lightbox/bpo.jpg"):
我一直遵循以下步骤:https ://lokeshdhakar.com/projects/lightbox2/ & https://github.com/gavinkflam/lightbox2-rails
灯箱的所有图像都位于“图像/灯箱”文件夹中,图像正确显示在页面上,但是单击图像放大并调出灯箱模式后,日志中会显示上述路由错误并且没有图像出现。
gallery_controller.rb
def index
@images = Dir.chdir(Rails.root.join('app/assets/images')) do
Dir.glob('lightbox/*.jpg')
end
end
index.html.erb
<div class="jumbotron jumbotron-fluid">
<div class="container">
<div class="row">
<% @images.each do |image| %>
<div class="col-md-3">
<a href='<%= "images/#{image}" %>' class="img-fluid" data-lightbox="my-images">
<%= image_tag image, class: "img-fluid" %>
</a>
</div>
<% end %>
</div>
</div>
</div>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
在结束正文标记之前,以下内容已添加到我的 application.html.erb 文件
中。
非常感谢任何帮助,因为我对如何继续感到困惑。
解决方案
我以前从未使用过 lightbox2,但如果是我,我会采用 3 种不同的解决方案
- 将“a”更改为“div”
- 从“a”中删除href
- 覆盖灯箱的事件处理程序以防止默认
希望其中任何一个都可以解决您的问题
推荐阅读
- c - 由唯一类型限定符组成的声明说明符
- python - 如何创建时间序列的多维数组
- mysql - 如何从订阅列表中获取仅订阅英语频道的用户
- go - 如何从云功能安排一些事情
- amazon-web-services - Terraform AWS API 网关集成
- xml - 使用 PowerShell 在 XML 中添加新的子节点
- python - 如何在 Django Rest Framwork 中为 ModelSerializer 正确提供用户字段
- python - 为什么我的分类器没有给我二进制结果?
- kubernetes - 忽略节点的节点亲缘关系
- python - 从另一个泛型 lambda 的参数推断泛型 lambda 参数