public
Description: A collection of useful Rails generator scripts.
Homepage:
Clone URL: git://github.com/ryanb/nifty-generators.git
ryanb (author)
Sat Aug 15 14:39:44 -0700 2009
commit  fbfecd2da347d1721ee0c28d2a8c83016805769c
tree    e68d8eff20946954aa002d04109f5af166323892
parent  e585e769dd2816ba75404110005eb6285ce8812f
nifty-generators / README.rdoc
100644 107 lines (55 sloc) 2.75 kb

Nifty Generators

A collection of useful Rails generator scripts.

Install

  gem install nifty-generators

You may need to uninstall the older version if it’s installed.

  gem uninstall ryanb-nifty-generators

Usage

Once you install the gem, the generators will be available to all Rails applications on your system. If you run script/generate without any additional arguments you should see the available generators listed.

To run the generator, go to your rails project directory and call it using the script/generate or script/destroy command.

  script/generate nifty_scaffold Recipe name:string index new

Included Generators

  • nifty_layout: generates generic layout, stylesheet, and helper files.
  • nifty_scaffold: generates a controller and optional model/migration.
  • nifty_config: generates a config YAML file and loader.
  • nifty_authentication: generates user model with sign up and log in.

To view the README for each generator, run it with the +—help+ option.

  script/generate nifty_layout --help

Troubleshooting and FAQs

What is the difference between nifty_scaffold and built-in scaffold?

One of the primary differences is that nifty_scaffold allows you to choose which controller actions to generate.

  script/generate nifty_scaffold post name:string index new edit

There are a few changes to the generated code as well, such as no XML format by default.

It also offers support for HAML, Shoulda, and RSpec.

I get "undefined method ‘title’" error.

Try running nifty_layout, that will generate this helper method. Or you can just change the templates to whatever approach you prefer for setting the title.

I can’t set new attributes in my model.

Add the attribute to the attr_accessible line in the model.

I get "undefined method ‘root_url’" error.

Some generators default redirecting to the root_url. Set this in your routes.rb file like this (substituting your controller name).

  map.root :controller => 'foo'

I get a missing database error.

Run rake db:migrate.

I get a routing error when I try to submit a form.

Try restarting your development server. Sometimes it doesn’t detect the change in the routing.

The tests/specs don’t work.

Make sure you have mocha installed and require it in your spec/test helper.

  gem install mocha

  # in spec_helper.rb
  config.mock_with :mocha

  # in test_helper.rb
  require 'mocha'

Also, make sure you’re using Rails 2.1 or greater.

Development

This project can be found on github at the following URL.

github.com/ryanb/nifty-generators/

If you wish the generators behaved differently, please consider forking the project and modifying to your heart’s content.