Wafflemix¶ ↑
To run this engine locally: cd test/dummy
Setup your db here: wafflemix/test/dummy/config/database.yml
start dummy app with: rails server
Using as an engine + setting up new application¶ ↑
-
Add wafflemix to your gemfile - gem ‘wafflemix’, ‘~> 0.0.6’
-
config/application.rb - add require “wafflemix” below bundle method.
-
config/routes.rb add:
mount Wafflemix::Engine => "/" devise_for :user, { class_name: 'Wafflemix::User', module: :devise, }
-
Include wafflemix helpers in application_controller.rb: helper Wafflemix::Engine.helpers
-
rake wafflemix:install:migrations
-
rake db:migrate
Devise¶ ↑
-
Ensure you have defined default url options in your environments files. Here is an example of default_url_options appropriate for a development environment in config/environments/development.rb:
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
In production, :host should be set to the actual host of your application.
-
Ensure you have defined root_url to something in your config/routes.rb. For example:
root :to => "home#index"
-
Ensure you have flash messages in app/views/layouts/application.html.erb. For example:
<p class="notice"><%= notice %></p> <p class="alert"><%= alert %></p>
-
If you are deploying Rails 3.1 on Heroku, you may want to set:
config.assets.initialize_on_precompile = false
On config/application.rb forcing your application to not access the DB or load models when precompiling your assets.
-
Since devise is an engine and this CMS is an engine, we need to set the order in which their loaded.
In config/application.rb add: config.railties_order = [Wafflemix::Engine, :main_app, :all]
Read more about Devise: github.com/plataformatec/devise
S3 uploads¶ ↑
Add the following to application.rb within the application class definition:
config.middleware.insert 0, ‘Dragonfly::Middleware’, :images
In an initializer or in config/environments set:
ENV = ‘your_key’ ENV = ‘your_secret’ ENV = ‘your-bucket’
And for heroku (by default production):
heroku config:add S3_KEY=***your-s3-key*** S3_SECRET=***your-s3-secret*** S3_BUCKET=***your-bucket***
Overriding routes¶ ↑
Overriding routes is straightforward, in config/routes add:
Wafflemix::Engine.routes.draw do end
Add any routes you want to override inside this block.
For example, changing the root url:
Wafflemix::Engine.routes.draw do root :to => "posts#index" end
## Todo’s New app generators Instructions for S3 config Seed Default roles
This project rocks and uses MIT-LICENSE.