ruby-on-rails – 对于载波多图像上传,“没有将nil隐式转换为字符串”错误

ruby-on-rails – 对于载波多图像上传,“没有将nil隐式转换为字符串”错误,第1张

概述这几天困扰着我.我试过不同的方法.所以我会选择最简单的形式,这应该是有效但不是. 我有两个型号.研究所和VirtualTour. class Institute < ActiveRecord::Base mount_uploader :virtual_images, VirtualPicUploader has_many :virtual_tours, dependent: :destr 这几天困扰着我.我试过不同的方法.所以我会选择最简单的形式,这应该是有效但不是.

我有两个型号.研究所和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隐式转换为字符串”错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存