title: Routes currently require literal id of model attribute, rather than what would make sense given the context
body: <p>My app basically consists of a user taking a course, and going through various steps to complete the course.  However, I believe there is a problem with my routing.   Right now here is the route for course 1 > level 1 > step 1 </p>
  
  <pre><code> http://localhost:3000/courses/1/levels/1/steps/1    
  </code></pre>
  
  <p>Here is the route for course 2 > level 1 (of course 2) > step 1 (of course 2):</p>
  
  <pre><code> http://localhost:3000/courses/2/levels/4/steps/10
  </code></pre>
  
  <p>It requires the literal ID of the step and level.  In reality, I think it would make more sense if the above route said :</p>
  
  <pre><code> http://localhost:3000/courses/2/levels/1/steps/1
  </code></pre>
  
  <p>or even </p>
  
  <pre><code>http://localhost:3000/course_title/levels/1/steps/1
  </code></pre>
  
  <p>How would I achieve this and does the routing make sense to do so?</p>
  
  <p>Routes.rb</p>
  
  <pre><code>Serenity::Application.routes.draw do
  
  
    root to: 'static_pages#home' 
  
  
    match '/help', to: 'static_pages#help'
    match '/about', to: 'static_pages#about'
    match '/contact', to: 'static_pages#contact'
  
    devise_for :admin_users, ActiveAdmin::Devise.config
    ActiveAdmin.routes(self)
  
    devise_for :users
    ActiveAdmin.routes(self)
  
    resources :users do
      member do
        get :courses
      end
    end
    resources :courses do
      resources :levels, only: [:show] do
        resources :steps, only: [:show]
      end
    end
    resources :assignments, only: [:create, :destroy]
  
  end
  </code></pre>
  
  <p>Here are my models in a nutshell: a user takes courses through the assigment model, and each course has levels and steps. </p>
  
  <pre><code>class User &lt; ActiveRecord::Base
    has_many :assignments, dependent: :destroy
    has_many :courses, through: :assignments
  
  class Assignment &lt; ActiveRecord::Base
    attr_accessible :course_id
    belongs_to :user
    belongs_to :course
  
  class Course &lt; ActiveRecord::Base
    has_many :assignments
    has_many :users, through: :assignments
    has_many :levels
  
  class Level &lt; ActiveRecord::Base
    belongs_to :course
  
  class Step &lt; ActiveRecord::Base
    belongs_to :level
  </code></pre>