Я нашел подобный вопрос: NameError: uninitialized constant Article::ImageUploader when using Carrierwave on rails 4.1.5Paperclip давая NameError: неинициализированную постоянной Модель :: ImageUploader
Но я попробовал предложения там: установлен carrierwave и пачка полной И я проверил мои модели ,
Моя модель пользователя имеет:
has_one :image, :as => :assetable, :class_name => "User::Image", :dependent => :destroy
И мои работы переименований найти, но как только я пытаюсь получить доступ мнения он разбивает этим кодом:
<%= link_to image_tag((current_user.image.nil? ? Settings.default_user_image : current_user.image.attachment.url(:thumbnail)) , :style=>'max-width:60px;', :alt=>current_user.full_name, :title=>current_user.full_name), user_path(current_user) %>
Я не знаю, почему это сломалось, раньше он работал нормально, только я могу думать о том, что я снова собирался, когда у моего gemfile.lock возникли конфликты.
Это, как я повторить вопрос на рельсы консоли:
2.1.1 :001 > u = User.new
2.1.1 :002 > u.build_image
NameError: uninitialized constant User::User::Image
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/inheritance.rb:133:in `compute_type'
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/reflection.rb:190:in `klass'
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/reflection.rb:207:in `build_association'
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/associations/association.rb:247:in `build_record'
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/associations/singular_association.rb:29:in `build'
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/associations/builder/singular_association.rb:18:in `build_image'
from (irb):2
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/railties-4.1.0/lib/rails/commands/console.rb:90:in `start'
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/railties-4.1.0/lib/rails/commands/console.rb:9:in `start'
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:69:in `console'
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/railties-4.1.0/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
from /home/aditya/.rvm/gems/ruby-2.1.1/gems/railties-4.1.0/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
Пожалуйста, помогите. Сейчас я застрял в критической точке.
Путь к файлу, в котором происходит ошибка: /demo/app/views/home/index.html.erb
класс Изображение находится в: /демо/приложение/модели/пользователь/изображения. Р.Б.
Содержание для image.rb
class User::Image < Asset
has_attached_file :attachment, {
fog_credentials: {:aws_access_key_id=>"***", :aws_secret_access_key=>"***", :provider=>"AWS"}, :fog_public=>true, :fog_directory=>"test",
styles: { :thumbnail => "60x60#", :profile => "165x165#" },
storage: :multiple,
path: ":compatible_rails_root/users/files/:id/:style.:extension",
url: "/uploads/posts/files/:id/:style.:extension",
multiple_if: lambda { |user| true },
display_from_s3: lambda { |user| true }
}
validates_attachment_content_type :attachment, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
end
режим пользователя просто в /демо/приложение/модели
Можете ли вы опубликовать пути к изображениям и пользовательским классам? – neo
@neo обновил вопрос, с запрошенной информацией. – whizcreed
После того, как вы копаетесь в код ActiveRecord, я полагаю, что существует некоторая 'NameError', когда рельсы пытаются импортировать' User :: Image'. Попытайтесь использовать 'has_one: image,: class_name =>" :: User :: Image "' (! Note leading '::' в class_name), это может дать вам лучший стек. Затем добавьте этот стек. – glyuck