Extending Rails with Engines

Rails engines allow our plug-in to have its own controllers, models, helpers, views, assets, and routes, just like in a regular Rails application. Let’s generate a plug-in called live_assets using the Rails plug-in generator. But this time we’ll pass the --full flag, which will generate directories for models, controllers, routes, and more:

 
$ ​rails plug-in new live_assets --full

In addition to the files the generator normally creates for us, the --full flag also generates these files:

  • An app directory with controllers, models, and others seen in a regular application

  • A config/routes.rb file for routes

  • A lib/live_assets/engine.rb file declaring our engine

  • An empty test/integration/navigation_test.rb file to which ...

Get Crafting Rails 4 Applications, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.