Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 rails中止了!Don';我不知道如何构建任务';任务名称';_Ruby On Rails_Rake_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails rails中止了!Don';我不知道如何构建任务';任务名称';

Ruby on rails rails中止了!Don';我不知道如何构建任务';任务名称';,ruby-on-rails,rake,ruby-on-rails-5,Ruby On Rails,Rake,Ruby On Rails 5,我正在创建一个快速的一次性任务: require 'yaml' task generate_permissions_yaml: :environment do permissions = [] Permission.order(:title).each do |permission| permissions << { title: permission.title, code: permission.code, descript

我正在创建一个快速的一次性任务:

require 'yaml'

task generate_permissions_yaml: :environment do
  permissions = []

  Permission.order(:title).each do |permission|
    permissions << {
      title: permission.title,
      code: permission.code,
      description: permission.description
    }
  end

  puts permissions.to_yaml
end

事实证明,这是由于我命名文件的方式。它应该有一个
.rake
扩展名,而不是
.rb

我改名为:

lib/tasks/generate_permissions_yaml.rb
为此:

lib/tasks/generate_permissions_yaml.rake

在尝试运行
rails g task generate_permissions\u yaml
并看到它生成了一个扩展名为
.rake
的文件后,我发现了这个问题。对于新手来说,如果在rake命令中使用空格而不是冒号,这是一个常见错误。例如,如果输入:

rake db migrate
而不是:

rake db:migrate

正确的格式是冒号,而不是空格

虽然您发布的内容是正确的,但它并没有真正解决这个问题。对于错误的问题,这是一个写得很好的答案。谢谢!我用了一个多小时的时间把头撞在墙上,试图弄明白为什么我的任务没有运行。
rake db:migrate