加载Rails 3应用程序的部分

时间:2011-05-04 01:03:45

标签: ruby-on-rails ruby ruby-on-rails-3 gem

我正在为Rails 3开发一个由两个主要组件组成的gem。第一个是rails生成器,它将一些新文件/文件夹添加到rails项目中。第二个是运行时环境,它加载所有上述文件(一些使用我的DSL的ruby类)以及默认Rails堆栈的一部分。从本质上讲,它是您期望能够在rails c中访问的所有内容,无需路由,控制器,帮助程序和视图。加载Rails环境的正确方法是什么,除了特定部分?

旁注:我很想看到有关要求Rails应用程序的任何好文章。

2 个答案:

答案 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