Skip to content

How To: Create a CRUD Resource

Saumya Kanoria edited this page Jul 7, 2016 · 1 revision
  1. Run:

     rails g resource Widget (substitute Widget with resource name)
    

    OR

     rails g model Widget
     rails g controller Widgets
    
  2. Edit the /config/routes.rb file

  3. Write some model unit tests. For reference see:

  4. Write some model functionality

  5. Create an authorization policy. For reference see /app/policies/post_policy.rb.

  6. Write some controller unit tests. For reference see /spec/controllers/posts_controller_spec.rb.

  7. Write some authorization policy tests. For reference see /spec/policies/post_policy_spec.rb.

  8. Write some controller functionality

  9. Write the server views (which basically render out responses as JSON). For reference, see [/app/views/posts/index.json.jbuilder]. JBuilder comes bundled with Rails, and is a much better way to create JSON, compared to the as_json method.

  10. Create an Angular resource to communicate with the controller. See /app/assets/javascripts/client/angular/services/post.js.

  11. Create an Angular controller that uses the resource. For reference see /app/assets/javascripts/client/angular/controllers/posts_ctrl.js.

  12. Write some Angular controller unit tests. For reference see /app/spec/javascripts/client/controllers/home_ctrl_spec.js.

  13. Create an Angular view (template). For reference see /app/assets/javascripts/templates/client/controllers/posts/index.html.

  14. Update the /app/assets/javascripts/client/angular/routes.js file

  15. Create any directives that may be required for the view

  16. Write some directive unit tests

Clone this wiki locally