Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 突然参数错误:种子设定时UTF-8中的字节序列无效_Ruby On Rails_Ruby_Utf 8_Seeding - Fatal编程技术网

Ruby on rails 突然参数错误:种子设定时UTF-8中的字节序列无效

Ruby on rails 突然参数错误:种子设定时UTF-8中的字节序列无效,ruby-on-rails,ruby,utf-8,seeding,Ruby On Rails,Ruby,Utf 8,Seeding,在我的Rails应用程序上工作时,我正在尝试一些裁剪图像的方法,我从,回到我以前拥有的,然后到这个,在完成所有设置后,我决定重新启动数据库并对其进行种子设定,但是当我尝试对数据库进行种子设定时,我得到了ArgumentError:UTF-8中的无效字节序列 在一些小型研究之前和之后,我从未遇到过这个错误,我发现这是由于一些字符无法被ruby读取,然而,在浏览了我的代码之后,我发现在我开始裁剪图像之前和进一步检查之后,我还没有找到原因 我还没有学会如何读取和跟踪rails/rake bug,这也没

在我的Rails应用程序上工作时,我正在尝试一些裁剪图像的方法,我从,回到我以前拥有的,然后到这个,在完成所有设置后,我决定重新启动数据库并对其进行种子设定,但是当我尝试对数据库进行种子设定时,我得到了
ArgumentError:UTF-8中的无效字节序列

在一些小型研究之前和之后,我从未遇到过这个错误,我发现这是由于一些字符无法被ruby读取,然而,在浏览了我的代码之后,我发现在我开始裁剪图像之前和进一步检查之后,我还没有找到原因

我还没有学会如何读取和跟踪rails/rake bug,这也没有什么帮助,我得到的是:

rails aborted!
ArgumentError: invalid byte sequence in UTF-8
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.1/lib/active_support/core_ext/object/blank.rb:118:in `==='
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.1/lib/active_support/core_ext/object/blank.rb:118:in `blank?'
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/sanitized_file.rb:131:in `is_path?'
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/sanitized_file.rb:97:in `size'
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/sanitized_file.rb:140:in `empty?'
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/uploader/cache.rb:120:in `cache!'
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/mounter.rb:44:in `block in cache'
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/mounter.rb:42:in `each'
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/mounter.rb:42:in `map'
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/mounter.rb:42:in `cache'
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/mount.rb:300:in `main_image='
/usr/local/rvm/gems/ruby-2.3.0/gems/carrierwave-1.1.0/lib/carrierwave/orm/activerecord.rb:70:in `main_image='
/usr/local/rvm/gems/ruby-2.3.0/gems/activemodel-5.0.1/lib/active_model/attribute_assignment.rb:46:in `public_send'
/usr/local/rvm/gems/ruby-2.3.0/gems/activemodel-5.0.1/lib/active_model/attribute_assignment.rb:46:in `_assign_attribute'
/usr/local/rvm/gems/ruby-2.3.0/gems/activemodel-5.0.1/lib/active_model/attribute_assignment.rb:40:in `block in _assign_attributes'
/usr/local/rvm/gems/ruby-2.3.0/gems/activemodel-5.0.1/lib/active_model/attribute_assignment.rb:39:in `each'
/usr/local/rvm/gems/ruby-2.3.0/gems/activemodel-5.0.1/lib/active_model/attribute_assignment.rb:39:in `_assign_attributes'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/attribute_assignment.rb:26:in `_assign_attributes'
/usr/local/rvm/gems/ruby-2.3.0/gems/activemodel-5.0.1/lib/active_model/attribute_assignment.rb:33:in `assign_attributes'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/core.rb:319:in `initialize'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/inheritance.rb:65:in `new'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/inheritance.rb:65:in `new'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/persistence.rb:50:in `create!'
/home/ubuntu/workspace/db/seeds.rb:60:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:287:in `load'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:287:in `block in load'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:287:in `load'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/engine.rb:549:in `load_seed'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/tasks/database_tasks.rb:268:in `load_seed'
/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.1/lib/active_record/railties/databases.rake:196:in `block (2 levels) in <top (required)>'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy.rb:14:in `block in run_rake_task'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy.rb:11:in `run_rake_task'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:51:in `run_command!'
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.1/lib/rails/commands.rb:18:in `<top (required)>'
/home/ubuntu/workspace/bin/rails:9:in `require'
/home/ubuntu/workspace/bin/rails:9:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.3.0/gems/spring-1.7.2/lib/spring/client/rails.rb:28:in `load'
/usr/local/rvm/gems/ruby-2.3.0/gems/spring-1.7.2/lib/spring/client/rails.rb:28:in `call'
/usr/local/rvm/gems/ruby-2.3.0/gems/spring-1.7.2/lib/spring/client/command.rb:7:in `call'
/usr/local/rvm/gems/ruby-2.3.0/gems/spring-1.7.2/lib/spring/client.rb:30:in `run'
/usr/local/rvm/gems/ruby-2.3.0/gems/spring-1.7.2/bin/spring:49:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.3.0/gems/spring-1.7.2/lib/spring/binstub.rb:11:in `load'
/usr/local/rvm/gems/ruby-2.3.0/gems/spring-1.7.2/lib/spring/binstub.rb:11:in `<top (required)>'
/home/ubuntu/workspace/bin/spring:15:in `require'
/home/ubuntu/workspace/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:seed
(See full trace by running task with --trace)

重要编辑:因此我决定返回到以前的提交,不再处理此问题,出于某种原因,错误不断出现,这让我相信我使用的平台Cloud9存在问题,我还了解到,这不是Rails 5.0上应该出现的问题。不确定,这只是请求URL中的无效字节序列,请尝试以下方法:


添加到您的gemfile
gem'rack-utf8\u Sanitarizer'
gem'handle\u无效的\u百分比\u编码请求'
gem'utf8 cleaner'
在运行
bundle install
后,我发现了问题的原因,我使用
mount\u uploaders
进行单一上传,将上载设置为数组,从而创建错误。将其更改为
mount\u uploader
是解决方案,您确实需要注意这些细节,好吧,这是您的经验教训。我建议关闭这个问题,除非它对新手有些帮助。

装载上传者需要一个数组,因此您的seed.rb文件应该设置为接受数组

它应该是这样的:
Model.create(images:[image1.jpg])


不是这样的:
Model.create(images:image1.jpg)

它们都不起作用,仍然会出现相同的错误。这真的很奇怪。在你的config/application.rb中添加以下行:
config.middleware.use'Utf8Sanitizer'
我得到
NameError:main:Object未定义的局部变量或方法'config'
即使在安装了Gem之后,也要在app/middleware中将utf8\u sanitizer.rb添加到你的Rails 3.2项目中,通过我返回的这个链接到以前的提交,现在我也得到了这些错误,显然rails应该总是自动处理这个问题,除非我使用的是2.0之前的版本,现在我使用的是5.0,知道为什么会发生这种情况吗?你使用的是什么版本的Ruby?您是否确保编辑器以UTF-8格式保存文件?该模型的种子文件是什么样子的?将种子添加到问题中,我使用的是ruby 2.3.0,如何确保编辑器以UTF-8保存?直到现在,我一直认为这是理所当然的。
Event.create!(
    name: "  1", 
    spanish_description: "El mejor programa para este sábado con los peques ! #kids #gratis #petfriendly. En Kuchitril. De 6 a 10 pm. #localmarket #tendencias #buenavibra. #corranlavoz!",
    english_description: "El mejor programa para este sábado con los peques ! #kids #gratis #petfriendly. En Kuchitril. De 6 a 10 pm. #localmarket #tendencias #buenavibra. #corranlavoz!",
    place_name: "mamita's",
    place_type: "beach club",
    address: "Calle 28 Norte Mza 10, Lote 8, Centro", 
    county: 'meh',
    city: "Playa del Carmen",
    state: "Quintana Roo",
    postal_code: 77710,

    user_id: 1,
    main_image: File.open(File.join(Rails.root, 'test.jpg')),
    sub_images: [File.open(File.join(Rails.root, 'chinchi.jpg'))],


    eventdates_attributes:[{ 
      start_date: Time.now.in_time_zone("Eastern Time (US & Canada)"),
      finish_date: Time.now.in_time_zone("Eastern Time (US & Canada)"),
      start_hour: "08:00am",
      finish_hour: "11:00am",
    }],

    tickets_attributes:[{ 
      ticket_type: "Solo una vez",
      price: 100,
      currency: "mxn",
      quantity: 150,
      description: "Un boleto muy divertido!"
    }, { 
      ticket_type: "Otra vez",
      price: 150,
      currency: "mxn",
      quantity: 150,
      description: "Un boleto muy divertido!"
    }]
)