在rake文件中包含gems

时间:2012-05-03 13:38:45

标签: ruby-on-rails ruby rubygems gem rake

我正在尝试在rails项目之外编写一个rakefile。

我创建了一个新目录,添加了一个rakefile并设置了一个基本的默认任务。有用。

我想使用premailer gem所以在我的默认任务中我添加了这个 -

premailer = Premailer.new('http://localhost/email.html', :warn_level => Premailer::Warnings::SAFE) 

这不起作用,我收到以下错误。

uninitialized constant Object::Premailer

如何在我的任务中参考预生成器gem?我应该将它包含在各种各样的宝石文件中吗?

1 个答案:

答案 0 :(得分:2)

你可以在没有这样的Gemfile的情况下工作:

require 'rubygems' # only needed for ruby 1.8.7
require 'premailer'

desc "My Task"
task :my_task do
  ..
  premailer = Premailer.new(...)
  ...
end

或使用Gemfile:

require 'rubygems' # only needed for ruby 1.8.7
require 'bundler'

Bundler.setup
Bundler.require

desc "My Task"
task :my_task do
  ..
  premailer = Premailer.new(...)
  ...
end

我希望这会有所帮助。