我试图将沙箱添加到我的rails spree应用程序并遇到此错误 (使用Windows 8 / powershell和Rails 4.1.6)。我将阅读本手册:https://github.com/spree/spree/issues/411
此链接Use older version of Rake 似乎有类似的问题,但我不知道如何采取必要的步骤来实现它。
当我尝试:
C:\Ruby193\openUpShop> bundle exec rake sandbox
我明白了:
rake aborted!
Don't know how to build task 'sandbox'
我是铁杆的新手,我仍然不确定一切是如何工作的,所以在整个解释中 一步一步的说明将不胜感激!谢谢。
答案 0 :(得分:1)
您可以使用文件sandbox.rb
# use example: rake task:sub_task -- --sandbox
if ARGV.any? {|arg| arg == '--sandbox' }
puts "** << USING SANDBOX!! >> **"
# beginning
$sandbox = -> do
ActiveRecord::Base.connection.begin_transaction
end
# end
at_exit do
ActiveRecord::Base.connection.rollback_transaction
end
end
然后只需要在task.rake文件的开头添加
require_relative 'path_to_your/sandbox.rb'
..并在任务代码的开头添加
desc "description task"
task example_task: :environment do
$sandbox.call if $sandbox.present?
...