Generate a controller with all the RESTful functions

I am trying to generate a controller with all the RESTful actions stubbed. I had read at Wikibooks - Ruby on Rails that all I needed to do was to call the generator with the controller name and I would get just that. So, I ran script/generate rspec_controller Properties but got an empty controller.

Any other suggestions would be greatly appreciated.


Solution 1:

I don't know about an automated way of doing it, but if you do:

script/generate controller your_model_name_in_plural new create update edit destroy index show

All of them will be created for you

Update for Rails 4

rails g scaffold_controller Property

Solution 2:

In Rails 3 there is also rails generate scaffold_controller .... More info here.

Solution 3:

EDIT(due to some comments) : Original question was in 2010 - hence the answer is NOT for RAILS 4 , but for rails 2!!

try using scaffolding.

script/generate scaffold controller Properties

Section of Official docs on Ruby On Rails

I'm sure you can find more info if you do a google search on rails scaffolding. Hope that helps.

EDIT: For RAILS 4

rails g scaffold_controller Property

Solution 4:

In Rails 4/5 the following command does the trick for me.

rails g scaffold_controller Property --skip-template-engine

It generated the controller actions but not the view.

Solution 5:

Rails 5.1

Starting point:

You have created a model without a controller, nor views (eg thru: rails generate model category)

Objective:

Upgrade it to a full RESTful resource

Command:

rails generate scaffold_controller category

It stubs out a scaffolded controller, its seven RESTful actions and related views. (Note: You can either pass the model name CamelCased or under_scored.)

Output:

varus@septimusSrv16DEV4:~/railsapps/dblirish$ rails generate scaffold_controller category
Running via Spring preloader in process 45681
      create  app/controllers/categories_controller.rb
      invoke  erb
      create    app/views/categories
      create    app/views/categories/index.html.erb
      create    app/views/categories/edit.html.erb
      create    app/views/categories/show.html.erb
      create    app/views/categories/new.html.erb
      create    app/views/categories/_form.html.erb
      invoke  test_unit
      create    test/controllers/categories_controller_test.rb
      invoke  helper
      create    app/helpers/categories_helper.rb
      invoke    test_unit
      invoke  jbuilder
      create    app/views/categories/index.json.jbuilder
      create    app/views/categories/show.json.jbuilder
      create    app/views/categories/_category.json.jbuilder