1

我创建了一个基本的 Rails 引擎(我使用的是 Rails 4),并通过 Gemfile 将它集成到我的主要 Rails 应用程序中:

gem 'app_core', :path => '../app_core'

我还将它添加到我的 Sinatra 应用程序中,并且 bundle install 说 gem 安装在那里。我正在我的 Sintra 应用程序中对此进行测试,如下所示:

get '/products.?:format?' do
  AppCore::Product.all.to_json
end

当我这样做时,我得到:

NameError at /products
uninitialized constant AppCore::Product

任何想法如何解决这个问题?是否可以将引擎集成到 Sinatra 应用程序中?

4

1 回答 1

0

我能够使用 gem 而不是 Engine 来完成这项工作。我根本无法让 Sinatra 使用 Rails 引擎,但它会使用自定义 gem。因此,我将其添加到 Rails 应用程序和 Sinatra 应用程序 Gemfiles:

gem 'app_core', :path => '../app_core'

然后在 Sinatra 应用程序主文件中我必须这样做:

require 'bundler/setup'
require 'app_core'

瞧!

于 2013-09-08T20:09:04.853 回答