-
Notifications
You must be signed in to change notification settings - Fork 8
How To: Create a CRUD Resource
-
Run:
rails g resource Widget (substitute Widget with resource name)OR
rails g model Widget rails g controller Widgets -
Edit the /config/routes.rb file
-
Write some model unit tests. For reference see:
-
Write some model functionality
-
Create an authorization policy. For reference see /app/policies/post_policy.rb.
-
Write some controller unit tests. For reference see /spec/controllers/posts_controller_spec.rb.
-
Write some authorization policy tests. For reference see /spec/policies/post_policy_spec.rb.
-
Write some controller functionality
-
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_jsonmethod. -
Create an Angular resource to communicate with the controller. See /app/assets/javascripts/client/angular/services/post.js.
-
Create an Angular controller that uses the resource. For reference see /app/assets/javascripts/client/angular/controllers/posts_ctrl.js.
-
Write some Angular controller unit tests. For reference see /app/spec/javascripts/client/controllers/home_ctrl_spec.js.
-
Create an Angular view (template). For reference see /app/assets/javascripts/templates/client/controllers/posts/index.html.
-
Update the /app/assets/javascripts/client/angular/routes.js file
-
Create any directives that may be required for the view
-
Write some directive unit tests