Неопределенный метод `image 'в Shrine - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь добавить драгоценный камень Shrine в существующий проект, который использует Paperclip. Я добавил изображение Храма к новой модели (просто для проверки). Итак, я создал модель Country с этой таблицей db:

  create_table "countries", force: :cascade do |t|
    t.string "name"
    t.text "image_data"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

и эту модель:

class Country < ApplicationRecord
  include ImageUploader::Attachment(:image)

  validates :name, length: { in: 2..180 }, presence: true
end

После этого я попытался получить изображение из страны и получил это (хотя image_data работает) :

enter image description here

I thought that maybe it's because image is empty, but in another app with shrine everything works correctly

введите описание изображения здесь

Кто-нибудь знает, как это исправить?

Ответы [ 2 ]

1 голос
/ 12 августа 2020

Кажется, что каким-то образом загрузчик святыни был загружен до файла shrine.rb, так что я не мог использовать какие-либо методы святыни. Похожую проблему можно найти здесь: https://github.com/shrinerb/shrine/issues/155

Добавление require_relative '../../config/initializers/shrine' в загрузчик устранило проблему

0 голосов
/ 20 августа 2020

Я получил ошибку в shrine версии 3.2.1 и исправил ее, добавив Shrine.plugin :activerecord в shrine.rb. надеюсь, что это поможет.

https://shrinerb.com/docs/plugins/activerecord

...