I take it no one has poked around with the Rails 3.1 engines yet?

-Adam

On Jul 25, 3:27 pm, astjohn <[email protected]> wrote:
> Hi all,
>
> I was hoping someone could please clarify the differences between a
> full engine and a mountable one.
>
> I have noticed the following:
>
> ** Full Engine **
> - With a full engine, the parent application inherits the routes from
> the engine.  It is not necessary to specify anything in parent_app/
> config/routes.rb.  Specifying the gem in Gemfile is enough.  The
> engine routes are specified as:
>
> # my_engine/config/routes.rb
> Rails.application.routes.draw do
> # whatever
> end
>
> - No namespacing of models, controllers, etc.  These are immediately
> accessible to the parent application.
>
> ** Mountable Engine **
> - The engine's namespace is isolated by default.
>
> # my_engine/lib/my_engine/engine.rb
> module MyEngine
>   class Engine < Rails::Engine
>     isolate_namespace MyEngine
>   end
> end
>
> - With a mountable engine, the routes are namespaced and the parent
> app can bundle this functionality under a single route:
>
> # my_engine/config/routes.rb
> MyEngine::Engine.routes.draw do
> #whatever
> end
>
> # parent_app/config/routes.rb
> Rails.application.routes.draw do
>   mount MyEngine::Engine => "/engine", :as => "namespaced"
> end
>
> - Models, controllers, etc are isolated from the parent application -
> although helpers can be shared easily.
>
> Is this correct and are these the main differences?  Are there any
> other differences between a full and mountable engine that I missed?
>
> Thanks,
> Adam

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to