Я не могу редактировать некоторые записи в Rails Admin после нескольких загрузок файлов с помощью Carrierwave.
Я думаю, что все правильно, когда я загружаю файлы, все идет хорошо, но если я пытаюсь редактироватьпосле сохранения записи возникает ошибка:
.log:
14:33:56 web.1 | Started POST "/admin/__better_errors/563c2613b62e459f/variables" for 127.0.0.1 at 2018-11-21 14:33:56 -0200
14:33:56 web.1 | Tag Load (0.6ms) SELECT "tags".* FROM "tags" INNER JOIN "projects_tags" ON "tags"."id" = "projects_tags"."tag_id" WHERE "projects_tags"."project_id" = $1 LIMIT $2 [["project_id", 75],["LIMIT", 11]]
14:33:56 web.1 | ↳ /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/activerecord-5.2.1/lib/active_record/log_subscriber.rb:98
14:34:50 web.1 | Started GET "/admin/project/75/edit" for 127.0.0.1 at 2018-11-21 14:34:50 -0200
14:34:50 web.1 | Processing by RailsAdmin::MainController#edit as HTML
14:34:50 web.1 | Parameters: {"model_name"=>"project", "id"=>"75"}
14:34:50 web.1 | Admin Load (0.4ms) SELECT "admins".* FROM "admins" WHERE "admins"."id" = $1 ORDER BY "admins"."id" ASC LIMIT $2 [["id", 1], ["LIMIT", 1]]
14:34:50 web.1 | ↳ config/initializers/rails_admin.rb:9
14:34:50 web.1 | Project Load (2.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."id" = $1 ORDER BY "projects"."id" ASC LIMIT $2 [["id", 75], ["LIMIT", 1]]
14:34:50 web.1 | ↳ /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/activerecord-5.2.1/lib/active_record/log_subscriber.rb:98
14:34:51 web.1 | Rendering /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/edit.html.haml within layouts/rails_admin/application
14:34:51 web.1 | Rendered /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/_form_field.html.haml (3.8ms)
14:34:51 web.1 | Rendered /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/_form_text.html.haml (31.4ms)
14:34:51 web.1 | Tag Load (0.5ms) SELECT "tags".* FROM "tags" INNER JOIN "projects_tags" ON "tags"."id" = "projects_tags"."tag_id" WHERE "projects_tags"."project_id" = $1 [["project_id", 75]]
14:34:51 web.1 | ↳ /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/activerecord-5.2.1/lib/active_record/log_subscriber.rb:98
14:34:51 web.1 | (0.4ms) SELECT COUNT(*) FROM "tags"
14:34:51 web.1 | ↳ /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/activerecord-5.2.1/lib/active_record/log_subscriber.rb:98
14:34:51 web.1 | Tag Load (0.5ms) SELECT "tags".* FROM "tags" ORDER BY tags.id desc
14:34:51 web.1 | ↳ /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/activerecord-5.2.1/lib/active_record/log_subscriber.rb:98
14:34:51 web.1 | Rendered /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/_form_filtering_multiselect.html.haml (22.4ms)
14:34:51 web.1 | Rendered /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/_form_text.html.haml (0.4ms)
14:34:51 web.1 | Rendered /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/_form_text.html.haml (0.4ms)
14:34:51 web.1 | Rendered /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/_form_text.html.haml (0.4ms)
14:34:51 web.1 | Rendered /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/_form_file_upload.html.haml (13.9ms)
14:34:51 web.1 | Rendered /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/_form_multiple_file_upload.html.haml (45.1ms)
14:34:51 web.1 | Rendered /Users/Atua/.rvm/gems/ruby-2.5.1@atua/gems/rails_admin-1.4.2/app/views/rails_admin/main/edit.html.haml within layouts/rails_admin/application (623.9ms)
14:34:51 web.1 | Completed 500 Internal Server Error in 800ms (ActiveRecord: 3.9ms)
14:34:51 web.1 |
14:34:51 web.1 |
14:34:51 web.1 |
14:34:51 web.1 | NoMethodError - undefined method `' for #<Project:0x00007fb7cfa36900>:
14:34:51 web.1 |
rails_admin.rb:
config.model Project do
edit do
field :title
field :headline
field :images, :multiple_carrierwave
end
end
ProjectImageUploader.rb
class ProjectImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
include CarrierWave::ImageOptimizer
process optimize: [{ quality: 85 }]
storage :file
version :normal do
process :efficient_conversion => [640, 960]
end
def store_dir
"system/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
private
def efficient_conversion(width, height)
manipulate! do |img|
img.combine_options do |c|
c.fuzz "3%"
c.trim
c.resize "#{width}x#{height}>"
c.resize "#{width}x#{height}<"
end
img
end
end
end
Модель проекта:
mount_uploaders :images, ProjectImageUploader