ruby-on-rails – 对于载波多图像上传,“没有将nil隐式转换为字
发布时间:2020-12-17 01:51:01 所属栏目:百科 来源:网络整理
导读:这几天困扰着我.我试过不同的方法.所以我会选择最简单的形式,这应该是有效但不是. 我有两个型号.研究所和VirtualTour. class Institute ActiveRecord::Base mount_uploader :virtual_images,VirtualPicUploader has_many :virtual_tours,dependent: :destroy
这几天困扰着我.我试过不同的方法.所以我会选择最简单的形式,这应该是有效但不是.
我有两个型号.研究所和VirtualTour. class Institute < ActiveRecord::Base mount_uploader :virtual_images,VirtualPicUploader has_many :virtual_tours,dependent: :destroy accepts_nested_attributes_for :virtual_tours,allow_destroy: true end class VirtualTour < ActiveRecord::Base belongs_to :institute mount_uploader :image,VirtualPicUploader end 我为研究所设备很有意思.这个更简单的版本没有考虑强参数,所以我会保持这样. def account_update default_params.permit! end 在编辑时会发生此上传,这就是使用account_update的原因. <%= form_for(resource,as: resource_name,url: registration_path(resource_name),html: { method: :put,multipart: true }) do |f| %> <%= f.fields_for :virtual_tours do |ff| %> <%= ff.file_field :image,multiple: true %> <%= ff.hidden_field :institute_id,value: f.object.id %> <% end %> <% end %> 我提交时在浏览器中出现此错误. no implicit conversion of nil into String def cache_path File.expand_path(File.join(cache_dir,cache_name),root) end 在日志中, TypeError (no implicit conversion of nil into String): carrierwave (0.10.0) lib/carrierwave/uploader/cache.rb:159:in `join' carrierwave (0.10.0) lib/carrierwave/uploader/cache.rb:159:in `cache_path' carrierwave (0.10.0) lib/carrierwave/uploader/cache.rb:131:in `block in cache!' carrierwave (0.10.0) lib/carrierwave/uploader/callbacks.rb:17:in `with_callbacks' carrierwave (0.10.0) lib/carrierwave/uploader/cache.rb:122:in `cache!' carrierwave (0.10.0) lib/carrierwave/mount.rb:329:in `cache' carrierwave (0.10.0) lib/carrierwave/mount.rb:163:in `image=' carrierwave (0.10.0) lib/carrierwave/orm/activerecord.rb:39:in `image=' activerecord (4.2.4) lib/active_record/attribute_assignment.rb:54:in `public_send' activerecord (4.2.4) lib/active_record/attribute_assignment.rb:54:in `_assign_attribute' activerecord (4.2.4) lib/active_record/attribute_assignment.rb:41:in `block in assign_attributes' actionpack (4.2.4) lib/action_controller/metal/strong_parameters.rb:185:in `each_pair' actionpack (4.2.4) lib/action_controller/metal/strong_parameters.rb:185:in `each_pair' activerecord (4.2.4) lib/active_record/attribute_assignment.rb:35:in `assign_attributes' activerecord (4.2.4) lib/active_record/nested_attributes.rb:513:in `assign_to_or_mark_for_destruction' activerecord (4.2.4) lib/active_record/nested_attributes.rb:479:in `block in assign_nested_attributes_for_collection_association' activerecord (4.2.4) lib/active_record/nested_attributes.rb:460:in `each' 过去两天一直在研究这个问题.任何帮助,将不胜感激. 解决方法
我刚遇到同样的问题.我用它来修复它 mount_uploaders不是mount_uploader
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |