Rails 5: Active Storage Link добавляет? Local = en - PullRequest
0 голосов
/ 06 октября 2018

У меня есть модель продуктов, в которой есть много изображений через Active Storage.

class Product < ApplicationRecord
 has_many_attached :images
end

В представлении «Мои продукты / шоу» первое изображение отображается в виде ссылки на модальное окно, на котором отображаются все остальные изображения:

- if @product.images.present?
  = link_to image_tag(@product.images.first, class: "img-fluid"), "#", data: {toggle: "modal", target: "#images"}
  / or
  = link_to image_tag(url_for(@product.images.first)), "#", class: "img-fluid", data: {toggle: "modal", target: "#images"}


#images.modal
  .modal-dialog
    .modal-content    
      .modal-body
        .carousel-inner
          .carousel-item.active
            = image_tag = @product.images.first, class: 'd-block w-100'

          - @product.images.drop(1).each do |image|
            .carousel-item
              = image_tag image, class: 'd-block w-100'

      a.carousel-control-prev data-slide="prev" href="#image_controls" role="button" 
        span.carousel-control-prev-icon
      a.carousel-control-next data-slide="next" href="#image_controls" role="button" 
        span.carousel-control-next-icon

Хорошо работает несколько минут.Но каким-то образом ?locale=en добавляется к ссылке на изображение из Active Storage через несколько минут, чтобы изображение больше не показывалось.

<img src="/rails/active_storage/blobs/longstring/image_file.jpg">

становится

<img src="/rails/active_storage/blobs/longstring/image_file.jpg?locale=en">

Файл моих маршрутов:

scope "(:locale)", locale: /en|ja/ do
  resources :products

Как запретить рельсам добавлять locale=en к ссылке на изображение?

1 Ответ

0 голосов
/ 09 октября 2018

Оказывается, проблема была не в локали, а в том, что было решено следующим образом: https://evilmartians.com/chronicles/rails-5-2-active-storage-and-beyond

...