= Niftier Generators
A collection of (more) useful Rails generator scripts for scaffolding, layout files, authentication, and more.
== Install
gem install niftier-generators
Include it in your Gemfile.
gem "niftier-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.
rails generate niftier:scaffold Recipe name:string index new
== Included Generators
* niftier:layout: generates generic layout, stylesheet, and helper files.
* niftier:scaffold: generates a controller and optional model/migration.
* niftier:config: generates a config YAML file and loader.
* niftier:authentication: generates user model with sign up and log in.
To view the README for each generator, run it with the +help+ option.
rails generate niftier:layout --help
== Troubleshooting and FAQs
What is the difference between niftier_scaffold and built-in scaffold?
One of the primary differences is that niftier_scaffold allows you to choose which controller actions to generate.
script/generate niftier_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 niftier: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'
== Found a bug?
If you are having a problem with Niftier Generators, first look at the FAQs above. If you still cannot resolve it, please submit an issue here.
http://github.com/mattyven/niftier-generators/issues