我已经创建了一个基本的Rails引擎(我正在使用Rails 4),我已经通过Gemfile将它集成到我的主Rails应用程序中:
gem 'app_core', :path => '../app_core'
我还在我的Sinatra应用程序中添加了这个,并且bundle install表示安装在那里的gem。我正在我的辛特拉应用程序中测试这个,如下所示:
get '/products.?:format?' do
AppCore::Product.all.to_json
end
当我这样做时,我得到:
NameError at /products
uninitialized constant AppCore::Product
任何想法如何解决这个问题?是否可以将引擎集成到Sinatra应用程序中?
答案 0 :(得分:0)
我能够使用gem而不是Engine来实现这一点。我根本无法使Sinatra使用Rails引擎,但它会使用自定义gem很好。所以,我把它添加到Rails应用程序和Sinatra应用程序Gemfiles:
gem 'app_core', :path => '../app_core'
然后在Sinatra app主文件中我必须这样做:
require 'bundler/setup'
require 'app_core'
瞧!