E1482. Rewrite Project E1401

Project E1482 includes merging of E1453 and refactoring assignments_controller using a form object. We have made assignments_controller using form object. Please provide your comments
Again, javascript should be [unobtrusive](http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html#unobtrusive-javascript).