Rails lightbox2 ActionController :: RoutingError

问题描述 投票:0回答:2

我正在尝试将lightbox2实现为一个相当简单的rails 5应用程序,似乎收到以下错误:

ActionController::RoutingError (No route matches [GET] "/images/lightbox/bpo.jpg"):

我一直在遵循以下步骤:qazxsw poi&qazxsw poi

Lightbox的所有图像都位于“images / lightbox”文件夹中,图像正确显示在页面上,但是点击图像放大并调出Lightbox模式时,上面的路由错误会显示在日志中并且不显示图像。

https://lokeshdhakar.com/projects/lightbox2/

index.html.erb

https://github.com/gavinkflam/lightbox2-rails

在关闭正文标记之前,我的application.html.erb文件gallery_controller.rb def index @images = Dir.chdir(Rails.root.join('app/assets/images')) do Dir.glob('lightbox/*.jpg') end end 中添加了以下内容。

非常感谢任何帮助,因为我对如何进行感到困惑。

ruby-on-rails ruby lightbox lightbox2
2个回答
0
投票

请尝试使用此代码段。

<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' %>使用<div class="jumbotron jumbotron-fluid"> <div class="container"> <div class="row"> <% @images.each do |image| %> <div class="col-md-3"> <a href='<%= image_path(image) %>' class="img-fluid" data-lightbox="my-images"> <%= image_tag image, class: "img-fluid" %> </a> </div> <% end %> </div> </div> </div> 辅助方法,因为资产来自资产管道。


0
投票

我之前从未使用过lightbox2,但如果是我,我会采用3种不同的解决方案

  1. 将“a”改为“div”
  2. 从“a”中删除href
  3. 覆盖灯箱的事件处理程序以防止默认

希望其中任何一个都能解决你的问题

© www.soinside.com 2019 - 2024. All rights reserved.