Skip to content

Instantly share code, notes, and snippets.



Last active Sep 17, 2019
What would you like to do?
Example for Rails project planning.
Hey there, here is an example set up 😊

App Summary

My app idea is my_app_name. It will do all the things and it will be awesome! Your doesn't need to be as formatted as this example. What's most important is that you get your ideas down.



attribute attribute type
first_name string
last_name string
user_name string
age integer
email string


attribute attribute type
title string
description string
body string
user_id integer
category_id integer


attribute attribute type
title string



has_many :posts has_many :categories, through: :posts

validates :name, presence: true


belongs_to :user

belongs_to :category

validates :title, presence: true


has_many :posts has_many :users, through: :posts

validates :title, presence: true

Below are the detailed specifications for the Rails Assessment. Try to answer them as best you can. Again, no worries if you arent sure on a particular item - We can talk about it together!


  • Using Ruby on Rails for the project

  • Include at least one has_many relationship

    • Example of one has_many relationship (e.g. x has_many y; User has_many Posts)

  • Include at least one belongs_to relationship

    • Example of one belongs_to relationship (e.g. y belongs_to x; e.g. Post belongs_to User)

  • Include at least two has_many through relationships

    • Example of one belongs_to relationship (e.g. x has_many z through y; e.g. User has_many Categories through Posts)

  • Include at least one many-to-many relationship

    • Example of many to many relationship (e.g. x has_many y through z, y has_many x through z; (e.g. User has_many Categories through Posts, Categories has_many Users through Posts)

  • The "through" part of the has_many through includes at least one user submittable

    • attribute, that is to say, some attribute other than its foreign keys that can be submitted by the app's user (think attribute_name e.g. post.title)

  • Include reasonable validations for simple model objects

    • list of model objects with validations e.g. User, Post, Category (see above)

  • Include a class level ActiveRecord scope method

    • model object & class method name and URL to see the working feature e.g. Category.most_posts URL: /categories/most_posts)

  • Include signup

  • Include login

  • Include logout

  • Include third party signup/login

  • Include nested resource show or index

    • URL e.g. categories/3/posts

  • Include nested resource "new" form

    • URL e.g. categories/7/posts/new)

  • Include form display of validation errors

    • form URL e.g. /posts/new)


  • The application is pretty DRY
  • Limited logic in controllers
  • Views use helper methods if appropriate
  • Views use partials if appropriate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment