Skip to content


Subversion checkout URL

You can clone with
Download ZIP
ComfortableMexicanSofa is a powerful CMS Engine for Ruby on Rails 3 applications
Ruby JavaScript CoffeeScript
Pull request Compare This branch is 616 commits behind comfy:master.
Latest commit a6c7062 @GBH GBH reverting database.yml

ComfortableMexicanSofa (Rails 3 CMS Engine)

Gem Version Build Status Dependency Status Code Climate Coverage Status

ComfortableMexicanSofa is a powerful CMS Engine for your Rails 3 applications.


Installation for Rails 4

For Rails 4 apps feel free to use 2.0.0.beta1 release.

gem 'comfortable_mexican_sofa', '~> 2.0.0.beta1'

Or even better work with the latest 2.0 branch:

gem 'comfortable_mexican_sofa', :github => 'comfy/comfortable-mexican-sofa', :branch => '2.0'


Add gem definition to your Gemfile:

gem 'comfortable_mexican_sofa'

Then from the Rails project's root run:

bundle install
rails generate comfy:cms
rake db:migrate

Now take a look inside your config/routes.rb file. You'll see where routes attach for the admin area and content serving. Make sure that content serving route appears as a very last item.

ComfortableMexicanSofa::Routing.admin   :path => '/cms-admin'
ComfortableMexicanSofa::Routing.content :path => '/', :sitemap => false

When upgrading from the older version please take a look at Upgrading ComfortableMexicanSofa

Quick Start Guide

After finishing installation you should be able to navigate to http://yoursite/cms-admin

Default username and password is 'username' and 'password'. You probably want to change it right away. Admin credentials (among other things) can be found and changed in the cms initializer: /config/initializers/comfortable_mexican_sofa.rb

Before creating pages and populating them with content we need to create a Site. Site defines a hostname, content path and it's language.

After creating a Site, you need to make a Layout. Layout is the template of your pages; it defines some reusable content (like header and footer, for example) and places where the content goes. A very simple layout can look like this:

    <h1>{{ cms:page:header:string }}</h1>
    {{ cms:page:content:text }}

Once you have a layout, you may start creating pages and populating content. It's that easy.

For more information please see Wiki pages.

Sofa's Page Edit View

Help and Contact

GoogleGroups: Twitter: @GroceryBagHead

ComfortableMexicanSofa is released under the MIT license

Copyright 2009-2013 Oleg Khabarov, The Working Group Inc

Something went wrong with that request. Please try again.