跳至內容

Ruby on Rails/內建 Rails 工具/編寫你自己的 rake 任務

來自 Wikibooks,開放世界的開放書籍
上一個:內建 Rails 工具/便捷的 Rake 任務 索引 下一個:內建 Rails 工具/命令列參考

你可以在lib/tasks目錄中為你的 Rails 應用程式建立一個檔案,然後將 Rake 任務新增到該檔案中,從而編寫你自己的 rake 任務。例如,將下列程式碼新增到lib/tasks/database.rake將使db:recreate任務對你的 Rails 應用程式可用

  namespace :db do
    desc "Drop and create the current database"
    task :recreate => :environment do
      abcs = ActiveRecord::Base.configurations
      ActiveRecord::Base.establish_connection(abcs[RAILS_ENV])
      ActiveRecord::Base.connection.recreate_database(ActiveRecord::Base.connection.current_database)
    end
  end

namespace 方法將塊的內容放入指定的名稱空間中。你可以按照所需在多層名稱空間中巢狀,但通常情況下,一到兩層就足夠了。

現在可以使用

rake db:recreate
華夏公益教科書