这是以下问题的第2部分:
Where to put model "utility" functions in Ruby on Rails
问题是,我还需要从rake任务访问这些实用程序功能。在另一个线程中使用接受的技术,从rake任务访问我的模型时出现“未定义的方法”错误。
解决此问题的最佳方法是什么? 感谢
答案 0 :(得分:3)
您可能需要将rake任务定义为依赖于Rails环境:
task :my_task => :environment do
# Will load Rails stack before executing this block
MyModel.foo
end
默认行为是几乎不加载任何内容,因此除非您要求,否则无法访问模型。