我有两个型号.研究所和VirtualTour.
class Institute < ActiveRecord::Base mount_uploader :virtual_images,VirtualPicUploader has_many :virtual_tours,dependent: :destroy accepts_nested_attributes_for :virtual_tours,allow_destroy: trueendclass VirtualTour < ActiveRecord::Base belongs_to :institute mount_uploader :image,VirtualPicUploaderend
我为研究所设备很有意思.这个更简单的版本没有考虑强参数,所以我会保持这样.
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
在日志中,
在91ms内完成500内部服务器错误(ActiveRecord:1.8ms)
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 总结以上是内存溢出为你收集整理的ruby-on-rails – 对于载波多图像上传,“没有将nil隐式转换为字符串”错误全部内容,希望文章能够帮你解决ruby-on-rails – 对于载波多图像上传,“没有将nil隐式转换为字符串”错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)