我有一个rake任务需要将值插入多个数据库.
我想从命令行或另一个 rake任务将此值传递给rake任务.
我怎样才能做到这一点?
我正在尝试创建自定义rake任务,但似乎我无法访问我的模型.我认为这是rails任务中隐含的内容.
我在lib/tasks/test.rake中有以下代码:
namespace :test do
task :new_task do
puts Parent.all.inspect
end
end
Run Code Online (Sandbox Code Playgroud)
这是我的父模型的样子:
class Parent < ActiveRecord::Base
has_many :children
end
Run Code Online (Sandbox Code Playgroud)
这是一个非常简单的例子,但我收到以下错误:
/> rake test:new_task
(in /Users/arash/Documents/dev/soft_deletes)
rake aborted!
uninitialized constant Parent
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢
根据" 自定义佣金任务 ":
desc "Pick a random user as the winner"
task :winner => :environment do
puts "Winner: #{pick(User).name}"
end
Run Code Online (Sandbox Code Playgroud)
据我所知,:winner => :environment意思是"做environment之前winner".但是什么environment?我应该什么时候使用它?
我试过rake -T,但在列表中我找不到environment.
运行我的rake任务时出现以下错误
rake store_reports["1", "2"]
rake aborted!
Don't know how to build task 'store_reports[1,'
Run Code Online (Sandbox Code Playgroud)
我的rake任务需要2个参数,需要访问其中的模型.这是任务
task :store_reports, [:start_date, :end_date] => :environment do |t, args|
puts args.start_date
end
Run Code Online (Sandbox Code Playgroud)
我引用了两个stackoverflow问题,但第一个答案没有用,在第二个答案中,作者似乎已经解决了,但他从未发布过他的答案.
耙子流产了!undefined方法`map'for:name: 带有多个参数的符号rake任务 - 我卡住了
这是一些额外的信息.我跑的地方,rake -T我看不到我的佣金任务