我创建了一个stock rails(4.2.1)应用程序,当我启动WEBrick时,我能够获得欢迎页面。但是,我在rails应用程序的Gemfile中包含了一个gem helios
。然后我阅读了helios README / documentation上的说明,helios框架可以作为中间件加载到rails应用程序中。所以我修改了 application.rb
#application.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(*Rails.groups)
module HeliosTest
class Application < Rails::Application
# Do not swallow errors in after_commit/after_rollback callbacks.
config.active_record.raise_in_transactional_callbacks = true
config.middleware.use Helios::Application do
service :data, model: '/opt/rails/Accounts.xcdatamodeld/Accounts 3.xcdatamodel/contents'
end
end
end
重新启动,WEBrick和rails应用程序仍然启动并加载了欢迎页面。但是,当我查看rails应用程序的架构时,我注意到它没有更改,因为我在application.rb中指定了datamodel。我执行了rake db:migrate
,但也没有改变架构。有人建议我测试我在rails应用程序中加载的中间件,所以我将RSpec测试框架包含在rails应用程序中,但我不确定如何在RSpec中编写一个测试{{1}的测试在application.rb中行,因为大多数有关测试中间件的stackoverflow问题都与测试http请求有关。
注意:使用名称service
创建了rails应用。
答案 0 :(得分:0)
中间件不会改变您的架构或添加到您的迁移中。如果您使用RTFM,您将看到默认设置是使用helios命令行界面创建新应用程序。
如果您想将helios用作中间件,那么预计您已经启动并运行了helios应用程序,并将其集成到另一个rails应用程序中。