Code Monkey home page Code Monkey logo

nifty-generators's Introduction

Nifty Generators

A collection of useful Rails generator scripts for scaffolding, layout files, authentication, and more.

Install

gem install 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

Rails 3

To use Nifty Generators with Rails 3 you will need to include it in your Gemfile.

gem "nifty-generators"

The generators use a colon as the separator instead of an underscore.

rails g nifty:layout

The Rails 3 support is still in early development, please report any issues you find.

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.

Found a bug?

If you are having a problem with Nifty Generators, first look at the FAQs above. If you still cannot resolve it, please submit an issue here.

github.com/ryanb/nifty-generators/issues

Original Author Ryan Bates (RailsCasts) Some Additions/Alterations Joc (Double Dare)

nifty-generators's People

Contributors

ryanb avatar wheels avatar drnic avatar doubledare avatar andersondias avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.