changed to before_save
changed to before_create (slug shouldn't change once created - i.e. if link is shared and slug is updated then we have an error)
Change to before_create
added def to_param
unnecessary path distinction
matched routes to proper controller#action
restructured file
fixed routes conflict - kept all routes