From: Benoit Daloze Date: 2010-08-05T00:47:33+09:00 Subject: Re: Rails3 Engines (mountable apps) On 4 August 2010 13:50, Luis Lavena wrote: > On Aug 4, 8:33 am, "H.J. Blok" wrote: >> Hello, >> >> I've a question about Rails 3 Engines. I'm looking everywhere for good >> documentation on this subject, but didn't find it. >> >> I'm trying to create a mountable app (embedding a Rails application in >> another Rails application). Both the 'base' application and the >> 'embedded' application are created with rails3.0.0.rc. To behave as >> Engine the 'embedded' application has the following code in >> 'lib/my_engine.rb': >> >> # lib/my_engine.rb >> require "my_engine" >> require "rails" >> >> module MyEngine >>   class Engine < Rails::Engine >>   end >> end >> >> In the Gemfile of the 'base' application I've included MyEngine as a >> gem, using the path directive (to be able to change code without >> rebuilding the gem). >> >> # Gemfile >> gem "my_engine", :path => "../my_engine" >> >> When I try to start the 'base' application it raises a NameError: >> >> uninitialized constant MyEngine::Application (NameError) >> >> Does anybody have good (Rails3 RC based) documentation on how to create >> a mountable app? >> >> And what would be the 'Rails-way' of solving this problem? >> > > Please look at enginex: > > http://github.com/josevalim/enginex > > It creates an engine template for rails 3, generate one and take a > look comparing with your version. > > Indeed there is no plenty of documentation, so you should inspect by > example. > > Also, you will get more help and better responses in a Ruby on Rails > group/mailing list, like ror talk: > > http://groups.google.com/group/rubyonrails-talk > > HTH, > -- > Luis Lavena > > I wish I saw that earlier. Anyway, I did not find a lot of documentation about it, and so I did test myself. I created today a gem "app2engine" to convert the skeleton of a Rails app to an Engine. It seems very similar to enginex about the concept. I use the standard path (so app/controllers for controllers), and so I think it is using less configuration stuff. Please have a look at it and file an issue if something goes wrong ;) Benoit Daloze (Sorry for the noise on the Ruby list, I did not find the post on rubyonrails-talk)