нет такого файла для загрузки — RMagick.rb Rails, Ubuntu

#ruby-on-rails #ubuntu #gem #rvm #rmagick

#ruby-on-rails #ubuntu #rubygems #rvm #rmagick

Вопрос:

У меня есть ruby и мои драгоценные камни, установленные в моем домашнем каталоге с помощью rvm. ‘require RMagick’ работает с консоли и irb, но не из моего приложения Rails. У меня есть драгоценный камень, указанный в моем Gemfile.

 require 'RMagick'

class PetsController < ApplicationController
  def image
    image = Image.new(image_path("base/Base.png"))
    #image = Pet.composite(0, '4a4a4a')
    @response.headers["Content-type"] = image.mime_type
    render :text => image.to_blob
  end

end 
  

Если я удалю запрос с моего контроллера, я получу

 uninitialized constant PetsController::Image
  

Я также пробовал require 'RMagick' в boot.rb и, ссылаясь на объект Image, используя Magick::Image (что дает мне uninitialized constant PetsController::Magick .

Что я делаю не так?

Ответ №1:

Решаемая проблема! Перезапуск сервера исправил это. Я предполагаю, что я не перезапустил сервер, когда добавил rmagick в свой gemfile.

Ответ №2:

Возможно ли, что вы запускаете приложение rails с другим пользователем, а не с тем, у которого установлен RMagick gem?

Комментарии:

1. Я использую сервер WEBrick для разработки, он работает как я.

2. Попробуйте добавить require 'rubygems' в начало ваших файлов и посмотрите, не решит ли это проблему