我正在为Rails 3开发一个由两个主要组件组成的gem。第一个是rails生成器,它将一些新文件/文件夹添加到rails项目中。第二个是运行时环境,它加载所有上述文件(一些使用我的DSL的ruby类)以及默认Rails堆栈的一部分。从本质上讲,它是您期望能够在rails c
中访问的所有内容,无需路由,控制器,帮助程序和视图。加载Rails环境的正确方法是什么,除了特定部分?
旁注:我很想看到有关要求Rails应用程序的任何好文章。
答案 0 :(得分:1)
我不完全清楚你的意思,或者这是否有用,但这听起来与我在我写的实用程序中所做的相似。
我的实用程序加载环境如下:
#!/usr/bin/env ruby
require File.expand_path('../../config/environment', __FILE__)
../../config/boot的要求将导致加载Gemfile中定义的gem。因此,如果您只需要部分Rails堆栈,那么您只需要Gemfile中的部分堆栈。
这为我提供了我的rails上下文,访问模型和其他资源。
(UPDATE) 要跳过部分rails堆栈 - 看一下如何更换ActiveRecord: http://www.mongodb.org/display/DOCS/Rails+3+-+Getting+Started
希望有所帮助。
答案 1 :(得分:1)
也许你需要Rails::Initializable?
你可以这样做:
initializer "active_support.initialize_whiny_nils" do |app|
require 'active_support/whiny_nil' if app.config.whiny_nils
end