From 5bac4e9ee105f3d306223b77bc196f0c6e0a17bf Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Mon, 20 Mar 2017 14:39:05 -0700 Subject: [PATCH 01/44] Created new Rails App --- Gemfile | 53 ++++++ Gemfile.lock | 174 ++++++++++++++++++ Rakefile | 6 + app/assets/config/manifest.js | 3 + app/assets/images/.keep | 0 app/assets/javascripts/application.js | 16 ++ app/assets/javascripts/cable.js | 13 ++ app/assets/javascripts/channels/.keep | 0 app/assets/stylesheets/application.css | 15 ++ app/channels/application_cable/channel.rb | 4 + app/channels/application_cable/connection.rb | 4 + app/controllers/application_controller.rb | 3 + app/controllers/concerns/.keep | 0 app/helpers/application_helper.rb | 2 + app/jobs/application_job.rb | 2 + app/mailers/application_mailer.rb | 4 + app/models/application_record.rb | 3 + app/models/concerns/.keep | 0 app/views/layouts/application.html.erb | 14 ++ app/views/layouts/mailer.html.erb | 13 ++ app/views/layouts/mailer.text.erb | 1 + bin/bundle | 3 + bin/rails | 9 + bin/rake | 9 + bin/setup | 34 ++++ bin/spring | 17 ++ bin/update | 29 +++ config.ru | 5 + config/application.rb | 15 ++ config/boot.rb | 3 + config/cable.yml | 9 + config/database.yml | 25 +++ config/environment.rb | 5 + config/environments/development.rb | 54 ++++++ config/environments/production.rb | 86 +++++++++ config/environments/test.rb | 42 +++++ .../application_controller_renderer.rb | 6 + config/initializers/assets.rb | 11 ++ config/initializers/backtrace_silencers.rb | 7 + config/initializers/cookies_serializer.rb | 5 + .../initializers/filter_parameter_logging.rb | 4 + config/initializers/inflections.rb | 16 ++ config/initializers/mime_types.rb | 4 + config/initializers/new_framework_defaults.rb | 24 +++ config/initializers/session_store.rb | 3 + config/initializers/wrap_parameters.rb | 14 ++ config/locales/en.yml | 23 +++ config/puma.rb | 47 +++++ config/routes.rb | 3 + config/secrets.yml | 22 +++ config/spring.rb | 6 + db/seeds.rb | 7 + lib/assets/.keep | 0 lib/tasks/.keep | 0 log/.keep | 0 public/404.html | 67 +++++++ public/422.html | 67 +++++++ public/500.html | 66 +++++++ public/apple-touch-icon-precomposed.png | 0 public/apple-touch-icon.png | 0 public/favicon.ico | 0 public/robots.txt | 5 + test/controllers/.keep | 0 test/fixtures/.keep | 0 test/fixtures/files/.keep | 0 test/helpers/.keep | 0 test/integration/.keep | 0 test/mailers/.keep | 0 test/models/.keep | 0 test/test_helper.rb | 10 + vendor/assets/javascripts/.keep | 0 vendor/assets/stylesheets/.keep | 0 72 files changed, 1092 insertions(+) create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 Rakefile create mode 100644 app/assets/config/manifest.js create mode 100644 app/assets/images/.keep create mode 100644 app/assets/javascripts/application.js create mode 100644 app/assets/javascripts/cable.js create mode 100644 app/assets/javascripts/channels/.keep create mode 100644 app/assets/stylesheets/application.css create mode 100644 app/channels/application_cable/channel.rb create mode 100644 app/channels/application_cable/connection.rb create mode 100644 app/controllers/application_controller.rb create mode 100644 app/controllers/concerns/.keep create mode 100644 app/helpers/application_helper.rb create mode 100644 app/jobs/application_job.rb create mode 100644 app/mailers/application_mailer.rb create mode 100644 app/models/application_record.rb create mode 100644 app/models/concerns/.keep create mode 100644 app/views/layouts/application.html.erb create mode 100644 app/views/layouts/mailer.html.erb create mode 100644 app/views/layouts/mailer.text.erb create mode 100755 bin/bundle create mode 100755 bin/rails create mode 100755 bin/rake create mode 100755 bin/setup create mode 100755 bin/spring create mode 100755 bin/update create mode 100644 config.ru create mode 100644 config/application.rb create mode 100644 config/boot.rb create mode 100644 config/cable.yml create mode 100644 config/database.yml create mode 100644 config/environment.rb create mode 100644 config/environments/development.rb create mode 100644 config/environments/production.rb create mode 100644 config/environments/test.rb create mode 100644 config/initializers/application_controller_renderer.rb create mode 100644 config/initializers/assets.rb create mode 100644 config/initializers/backtrace_silencers.rb create mode 100644 config/initializers/cookies_serializer.rb create mode 100644 config/initializers/filter_parameter_logging.rb create mode 100644 config/initializers/inflections.rb create mode 100644 config/initializers/mime_types.rb create mode 100644 config/initializers/new_framework_defaults.rb create mode 100644 config/initializers/session_store.rb create mode 100644 config/initializers/wrap_parameters.rb create mode 100644 config/locales/en.yml create mode 100644 config/puma.rb create mode 100644 config/routes.rb create mode 100644 config/secrets.yml create mode 100644 config/spring.rb create mode 100644 db/seeds.rb create mode 100644 lib/assets/.keep create mode 100644 lib/tasks/.keep create mode 100644 log/.keep create mode 100644 public/404.html create mode 100644 public/422.html create mode 100644 public/500.html create mode 100644 public/apple-touch-icon-precomposed.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon.ico create mode 100644 public/robots.txt create mode 100644 test/controllers/.keep create mode 100644 test/fixtures/.keep create mode 100644 test/fixtures/files/.keep create mode 100644 test/helpers/.keep create mode 100644 test/integration/.keep create mode 100644 test/mailers/.keep create mode 100644 test/models/.keep create mode 100644 test/test_helper.rb create mode 100644 vendor/assets/javascripts/.keep create mode 100644 vendor/assets/stylesheets/.keep diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..b5fbf94e0 --- /dev/null +++ b/Gemfile @@ -0,0 +1,53 @@ +source 'https://rubygems.org' + +git_source(:github) do |repo_name| + repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") + "https://github.com/#{repo_name}.git" +end + + +# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' +gem 'rails', '~> 5.0.2' +# Use sqlite3 as the database for Active Record +gem 'sqlite3' +# Use Puma as the app server +gem 'puma', '~> 3.0' +# Use SCSS for stylesheets +gem 'sass-rails', '~> 5.0' +# Use Uglifier as compressor for JavaScript assets +gem 'uglifier', '>= 1.3.0' +# Use CoffeeScript for .coffee assets and views +gem 'coffee-rails', '~> 4.2' +# See https://github.com/rails/execjs#readme for more supported runtimes +# gem 'therubyracer', platforms: :ruby + +# Use jquery as the JavaScript library +gem 'jquery-rails' +# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks +gem 'turbolinks', '~> 5' +# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder +gem 'jbuilder', '~> 2.5' +# Use Redis adapter to run Action Cable in production +# gem 'redis', '~> 3.0' +# Use ActiveModel has_secure_password +# gem 'bcrypt', '~> 3.1.7' + +# Use Capistrano for deployment +# gem 'capistrano-rails', group: :development + +group :development, :test do + # Call 'byebug' anywhere in the code to stop execution and get a debugger console + gem 'byebug', platform: :mri +end + +group :development do + # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. + gem 'web-console', '>= 3.3.0' + gem 'listen', '~> 3.0.5' + # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring + gem 'spring' + gem 'spring-watcher-listen', '~> 2.0.0' +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..559a4476d --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,174 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.0.2) + actionpack (= 5.0.2) + nio4r (>= 1.2, < 3.0) + websocket-driver (~> 0.6.1) + actionmailer (5.0.2) + actionpack (= 5.0.2) + actionview (= 5.0.2) + activejob (= 5.0.2) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.0.2) + actionview (= 5.0.2) + activesupport (= 5.0.2) + rack (~> 2.0) + rack-test (~> 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.0.2) + activesupport (= 5.0.2) + builder (~> 3.1) + erubis (~> 2.7.0) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.0.2) + activesupport (= 5.0.2) + globalid (>= 0.3.6) + activemodel (5.0.2) + activesupport (= 5.0.2) + activerecord (5.0.2) + activemodel (= 5.0.2) + activesupport (= 5.0.2) + arel (~> 7.0) + activesupport (5.0.2) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (~> 0.7) + minitest (~> 5.1) + tzinfo (~> 1.1) + arel (7.1.4) + builder (3.2.3) + byebug (9.0.6) + coffee-rails (4.2.1) + coffee-script (>= 2.2.0) + railties (>= 4.0.0, < 5.2.x) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.0.5) + debug_inspector (0.0.2) + erubis (2.7.0) + execjs (2.7.0) + ffi (1.9.18) + globalid (0.3.7) + activesupport (>= 4.1.0) + i18n (0.8.1) + jbuilder (2.6.3) + activesupport (>= 3.0.0, < 5.2) + multi_json (~> 1.2) + jquery-rails (4.2.2) + rails-dom-testing (>= 1, < 3) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) + listen (3.0.8) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + loofah (2.0.3) + nokogiri (>= 1.5.9) + mail (2.6.4) + mime-types (>= 1.16, < 4) + method_source (0.8.2) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) + mini_portile2 (2.1.0) + minitest (5.10.1) + multi_json (1.12.1) + nio4r (2.0.0) + nokogiri (1.7.1) + mini_portile2 (~> 2.1.0) + puma (3.8.2) + rack (2.0.1) + rack-test (0.6.3) + rack (>= 1.0) + rails (5.0.2) + actioncable (= 5.0.2) + actionmailer (= 5.0.2) + actionpack (= 5.0.2) + actionview (= 5.0.2) + activejob (= 5.0.2) + activemodel (= 5.0.2) + activerecord (= 5.0.2) + activesupport (= 5.0.2) + bundler (>= 1.3.0, < 2.0) + railties (= 5.0.2) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.0.2) + activesupport (>= 4.2.0, < 6.0) + nokogiri (~> 1.6) + rails-html-sanitizer (1.0.3) + loofah (~> 2.0) + railties (5.0.2) + actionpack (= 5.0.2) + activesupport (= 5.0.2) + method_source + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + rake (12.0.0) + rb-fsevent (0.9.8) + rb-inotify (0.9.8) + ffi (>= 0.5.0) + sass (3.4.23) + sass-rails (5.0.6) + railties (>= 4.0.0, < 6) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + spring (2.0.1) + activesupport (>= 4.2) + spring-watcher-listen (2.0.1) + listen (>= 2.7, < 4.0) + spring (>= 1.2, < 3.0) + sprockets (3.7.1) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.2.0) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + sqlite3 (1.3.13) + thor (0.19.4) + thread_safe (0.3.6) + tilt (2.0.7) + turbolinks (5.0.1) + turbolinks-source (~> 5) + turbolinks-source (5.0.0) + tzinfo (1.2.2) + thread_safe (~> 0.1) + uglifier (3.1.9) + execjs (>= 0.3.0, < 3) + web-console (3.4.0) + actionview (>= 5.0) + activemodel (>= 5.0) + debug_inspector + railties (>= 5.0) + websocket-driver (0.6.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.2) + +PLATFORMS + ruby + +DEPENDENCIES + byebug + coffee-rails (~> 4.2) + jbuilder (~> 2.5) + jquery-rails + listen (~> 3.0.5) + puma (~> 3.0) + rails (~> 5.0.2) + sass-rails (~> 5.0) + spring + spring-watcher-listen (~> 2.0.0) + sqlite3 + turbolinks (~> 5) + tzinfo-data + uglifier (>= 1.3.0) + web-console (>= 3.3.0) + +BUNDLED WITH + 1.14.6 diff --git a/Rakefile b/Rakefile new file mode 100644 index 000000000..e85f91391 --- /dev/null +++ b/Rakefile @@ -0,0 +1,6 @@ +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require_relative 'config/application' + +Rails.application.load_tasks diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js new file mode 100644 index 000000000..b16e53d6d --- /dev/null +++ b/app/assets/config/manifest.js @@ -0,0 +1,3 @@ +//= link_tree ../images +//= link_directory ../javascripts .js +//= link_directory ../stylesheets .css diff --git a/app/assets/images/.keep b/app/assets/images/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js new file mode 100644 index 000000000..b12018d09 --- /dev/null +++ b/app/assets/javascripts/application.js @@ -0,0 +1,16 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. JavaScript code in this file should be added after the last require_* statement. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require jquery +//= require jquery_ujs +//= require turbolinks +//= require_tree . diff --git a/app/assets/javascripts/cable.js b/app/assets/javascripts/cable.js new file mode 100644 index 000000000..71ee1e66d --- /dev/null +++ b/app/assets/javascripts/cable.js @@ -0,0 +1,13 @@ +// Action Cable provides the framework to deal with WebSockets in Rails. +// You can generate new channels where WebSocket features live using the rails generate channel command. +// +//= require action_cable +//= require_self +//= require_tree ./channels + +(function() { + this.App || (this.App = {}); + + App.cable = ActionCable.createConsumer(); + +}).call(this); diff --git a/app/assets/javascripts/channels/.keep b/app/assets/javascripts/channels/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css new file mode 100644 index 000000000..0ebd7fe82 --- /dev/null +++ b/app/assets/stylesheets/application.css @@ -0,0 +1,15 @@ +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, + * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS + * files in this directory. Styles in this file should be added after the last require_* statement. + * It is generally better to create a new file per style scope. + * + *= require_tree . + *= require_self + */ diff --git a/app/channels/application_cable/channel.rb b/app/channels/application_cable/channel.rb new file mode 100644 index 000000000..d67269728 --- /dev/null +++ b/app/channels/application_cable/channel.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Channel < ActionCable::Channel::Base + end +end diff --git a/app/channels/application_cable/connection.rb b/app/channels/application_cable/connection.rb new file mode 100644 index 000000000..0ff5442f4 --- /dev/null +++ b/app/channels/application_cable/connection.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Connection < ActionCable::Connection::Base + end +end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb new file mode 100644 index 000000000..1c07694e9 --- /dev/null +++ b/app/controllers/application_controller.rb @@ -0,0 +1,3 @@ +class ApplicationController < ActionController::Base + protect_from_forgery with: :exception +end diff --git a/app/controllers/concerns/.keep b/app/controllers/concerns/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb new file mode 100644 index 000000000..de6be7945 --- /dev/null +++ b/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb new file mode 100644 index 000000000..a009ace51 --- /dev/null +++ b/app/jobs/application_job.rb @@ -0,0 +1,2 @@ +class ApplicationJob < ActiveJob::Base +end diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb new file mode 100644 index 000000000..286b2239d --- /dev/null +++ b/app/mailers/application_mailer.rb @@ -0,0 +1,4 @@ +class ApplicationMailer < ActionMailer::Base + default from: 'from@example.com' + layout 'mailer' +end diff --git a/app/models/application_record.rb b/app/models/application_record.rb new file mode 100644 index 000000000..10a4cba84 --- /dev/null +++ b/app/models/application_record.rb @@ -0,0 +1,3 @@ +class ApplicationRecord < ActiveRecord::Base + self.abstract_class = true +end diff --git a/app/models/concerns/.keep b/app/models/concerns/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb new file mode 100644 index 000000000..be7a9f069 --- /dev/null +++ b/app/views/layouts/application.html.erb @@ -0,0 +1,14 @@ + + + + TaskList + <%= csrf_meta_tags %> + + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + + + + <%= yield %> + + diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb new file mode 100644 index 000000000..cbd34d2e9 --- /dev/null +++ b/app/views/layouts/mailer.html.erb @@ -0,0 +1,13 @@ + + + + + + + + + <%= yield %> + + diff --git a/app/views/layouts/mailer.text.erb b/app/views/layouts/mailer.text.erb new file mode 100644 index 000000000..37f0bddbd --- /dev/null +++ b/app/views/layouts/mailer.text.erb @@ -0,0 +1 @@ +<%= yield %> diff --git a/bin/bundle b/bin/bundle new file mode 100755 index 000000000..66e9889e8 --- /dev/null +++ b/bin/bundle @@ -0,0 +1,3 @@ +#!/usr/bin/env ruby +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) +load Gem.bin_path('bundler', 'bundle') diff --git a/bin/rails b/bin/rails new file mode 100755 index 000000000..5badb2fde --- /dev/null +++ b/bin/rails @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +APP_PATH = File.expand_path('../config/application', __dir__) +require_relative '../config/boot' +require 'rails/commands' diff --git a/bin/rake b/bin/rake new file mode 100755 index 000000000..d87d5f578 --- /dev/null +++ b/bin/rake @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +require_relative '../config/boot' +require 'rake' +Rake.application.run diff --git a/bin/setup b/bin/setup new file mode 100755 index 000000000..e620b4dad --- /dev/null +++ b/bin/setup @@ -0,0 +1,34 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a starting point to setup your application. + # Add necessary setup steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + # puts "\n== Copying sample files ==" + # unless File.exist?('config/database.yml') + # cp 'config/database.yml.sample', 'config/database.yml' + # end + + puts "\n== Preparing database ==" + system! 'bin/rails db:setup' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/bin/spring b/bin/spring new file mode 100755 index 000000000..fb2ec2ebb --- /dev/null +++ b/bin/spring @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby + +# This file loads spring without using Bundler, in order to be fast. +# It gets overwritten when you run the `spring binstub` command. + +unless defined?(Spring) + require 'rubygems' + require 'bundler' + + lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read) + spring = lockfile.specs.detect { |spec| spec.name == "spring" } + if spring + Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path + gem 'spring', spring.version + require 'spring/binstub' + end +end diff --git a/bin/update b/bin/update new file mode 100755 index 000000000..a8e4462f2 --- /dev/null +++ b/bin/update @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a way to update your development environment automatically. + # Add necessary update steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + puts "\n== Updating database ==" + system! 'bin/rails db:migrate' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/config.ru b/config.ru new file mode 100644 index 000000000..f7ba0b527 --- /dev/null +++ b/config.ru @@ -0,0 +1,5 @@ +# This file is used by Rack-based servers to start the application. + +require_relative 'config/environment' + +run Rails.application diff --git a/config/application.rb b/config/application.rb new file mode 100644 index 000000000..25ee0e0e3 --- /dev/null +++ b/config/application.rb @@ -0,0 +1,15 @@ +require_relative 'boot' + +require 'rails/all' + +# Require the gems listed in Gemfile, including any gems +# you've limited to :test, :development, or :production. +Bundler.require(*Rails.groups) + +module TaskList + class Application < Rails::Application + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + end +end diff --git a/config/boot.rb b/config/boot.rb new file mode 100644 index 000000000..30f5120df --- /dev/null +++ b/config/boot.rb @@ -0,0 +1,3 @@ +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) + +require 'bundler/setup' # Set up gems listed in the Gemfile. diff --git a/config/cable.yml b/config/cable.yml new file mode 100644 index 000000000..0bbde6f74 --- /dev/null +++ b/config/cable.yml @@ -0,0 +1,9 @@ +development: + adapter: async + +test: + adapter: async + +production: + adapter: redis + url: redis://localhost:6379/1 diff --git a/config/database.yml b/config/database.yml new file mode 100644 index 000000000..1c1a37ca8 --- /dev/null +++ b/config/database.yml @@ -0,0 +1,25 @@ +# SQLite version 3.x +# gem install sqlite3 +# +# Ensure the SQLite 3 gem is defined in your Gemfile +# gem 'sqlite3' +# +default: &default + adapter: sqlite3 + pool: 5 + timeout: 5000 + +development: + <<: *default + database: db/development.sqlite3 + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: db/test.sqlite3 + +production: + <<: *default + database: db/production.sqlite3 diff --git a/config/environment.rb b/config/environment.rb new file mode 100644 index 000000000..426333bb4 --- /dev/null +++ b/config/environment.rb @@ -0,0 +1,5 @@ +# Load the Rails application. +require_relative 'application' + +# Initialize the Rails application. +Rails.application.initialize! diff --git a/config/environments/development.rb b/config/environments/development.rb new file mode 100644 index 000000000..6f7197045 --- /dev/null +++ b/config/environments/development.rb @@ -0,0 +1,54 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Do not eager load code on boot. + config.eager_load = false + + # Show full error reports. + config.consider_all_requests_local = true + + # Enable/disable caching. By default caching is disabled. + if Rails.root.join('tmp/caching-dev.txt').exist? + config.action_controller.perform_caching = true + + config.cache_store = :memory_store + config.public_file_server.headers = { + 'Cache-Control' => 'public, max-age=172800' + } + else + config.action_controller.perform_caching = false + + config.cache_store = :null_store + end + + # Don't care if the mailer can't send. + config.action_mailer.raise_delivery_errors = false + + config.action_mailer.perform_caching = false + + # Print deprecation notices to the Rails logger. + config.active_support.deprecation = :log + + # Raise an error on page load if there are pending migrations. + config.active_record.migration_error = :page_load + + # Debug mode disables concatenation and preprocessing of assets. + # This option may cause significant delays in view rendering with a large + # number of complex assets. + config.assets.debug = true + + # Suppress logger output for asset requests. + config.assets.quiet = true + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true + + # Use an evented file watcher to asynchronously detect changes in source code, + # routes, locales, etc. This feature depends on the listen gem. + config.file_watcher = ActiveSupport::EventedFileUpdateChecker +end diff --git a/config/environments/production.rb b/config/environments/production.rb new file mode 100644 index 000000000..29a40f265 --- /dev/null +++ b/config/environments/production.rb @@ -0,0 +1,86 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Code is not reloaded between requests. + config.cache_classes = true + + # Eager load code on boot. This eager loads most of Rails and + # your application in memory, allowing both threaded web servers + # and those relying on copy on write to perform better. + # Rake tasks automatically ignore this option for performance. + config.eager_load = true + + # Full error reports are disabled and caching is turned on. + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Disable serving static files from the `/public` folder by default since + # Apache or NGINX already handles this. + config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? + + # Compress JavaScripts and CSS. + config.assets.js_compressor = :uglifier + # config.assets.css_compressor = :sass + + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = false + + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + # config.action_controller.asset_host = 'http://assets.example.com' + + # Specifies the header that your server uses for sending files. + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX + + # Mount Action Cable outside main process or domain + # config.action_cable.mount_path = nil + # config.action_cable.url = 'wss://example.com/cable' + # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # Use the lowest log level to ensure availability of diagnostic information + # when problems arise. + config.log_level = :debug + + # Prepend all log lines with the following tags. + config.log_tags = [ :request_id ] + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Use a real queuing backend for Active Job (and separate queues per environment) + # config.active_job.queue_adapter = :resque + # config.active_job.queue_name_prefix = "TaskList_#{Rails.env}" + config.action_mailer.perform_caching = false + + # Ignore bad email addresses and do not raise email delivery errors. + # Set this to true and configure the email server for immediate delivery to raise delivery errors. + # config.action_mailer.raise_delivery_errors = false + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation cannot be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = ::Logger::Formatter.new + + # Use a different logger for distributed setups. + # require 'syslog/logger' + # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') + + if ENV["RAILS_LOG_TO_STDOUT"].present? + logger = ActiveSupport::Logger.new(STDOUT) + logger.formatter = config.log_formatter + config.logger = ActiveSupport::TaggedLogging.new(logger) + end + + # Do not dump schema after migrations. + config.active_record.dump_schema_after_migration = false +end diff --git a/config/environments/test.rb b/config/environments/test.rb new file mode 100644 index 000000000..30587ef6d --- /dev/null +++ b/config/environments/test.rb @@ -0,0 +1,42 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Do not eager load code on boot. This avoids loading your whole application + # just for the purpose of running a single test. If you are using a tool that + # preloads Rails for running tests, you may have to set it to true. + config.eager_load = false + + # Configure public file server for tests with Cache-Control for performance. + config.public_file_server.enabled = true + config.public_file_server.headers = { + 'Cache-Control' => 'public, max-age=3600' + } + + # Show full error reports and disable caching. + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates. + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment. + config.action_controller.allow_forgery_protection = false + config.action_mailer.perform_caching = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Print deprecation notices to the stderr. + config.active_support.deprecation = :stderr + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true +end diff --git a/config/initializers/application_controller_renderer.rb b/config/initializers/application_controller_renderer.rb new file mode 100644 index 000000000..51639b67a --- /dev/null +++ b/config/initializers/application_controller_renderer.rb @@ -0,0 +1,6 @@ +# Be sure to restart your server when you modify this file. + +# ApplicationController.renderer.defaults.merge!( +# http_host: 'example.org', +# https: false +# ) diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb new file mode 100644 index 000000000..01ef3e663 --- /dev/null +++ b/config/initializers/assets.rb @@ -0,0 +1,11 @@ +# Be sure to restart your server when you modify this file. + +# Version of your assets, change this if you want to expire all your assets. +Rails.application.config.assets.version = '1.0' + +# Add additional assets to the asset load path +# Rails.application.config.assets.paths << Emoji.images_path + +# Precompile additional assets. +# application.js, application.css, and all non-JS/CSS in app/assets folder are already added. +# Rails.application.config.assets.precompile += %w( search.js ) diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb new file mode 100644 index 000000000..59385cdf3 --- /dev/null +++ b/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb new file mode 100644 index 000000000..5a6a32d37 --- /dev/null +++ b/config/initializers/cookies_serializer.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Specify a serializer for the signed and encrypted cookie jars. +# Valid options are :json, :marshal, and :hybrid. +Rails.application.config.action_dispatch.cookies_serializer = :json diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb new file mode 100644 index 000000000..4a994e1e7 --- /dev/null +++ b/config/initializers/filter_parameter_logging.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Configure sensitive parameters which will be filtered from the log file. +Rails.application.config.filter_parameters += [:password] diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb new file mode 100644 index 000000000..ac033bf9d --- /dev/null +++ b/config/initializers/inflections.rb @@ -0,0 +1,16 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format. Inflections +# are locale specific, and you may define rules for as many different +# locales as you wish. All of these examples are active by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end + +# These inflection rules are supported but not enabled by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.acronym 'RESTful' +# end diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb new file mode 100644 index 000000000..dc1899682 --- /dev/null +++ b/config/initializers/mime_types.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf diff --git a/config/initializers/new_framework_defaults.rb b/config/initializers/new_framework_defaults.rb new file mode 100644 index 000000000..671abb69a --- /dev/null +++ b/config/initializers/new_framework_defaults.rb @@ -0,0 +1,24 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains migration options to ease your Rails 5.0 upgrade. +# +# Read the Guide for Upgrading Ruby on Rails for more info on each option. + +# Enable per-form CSRF tokens. Previous versions had false. +Rails.application.config.action_controller.per_form_csrf_tokens = true + +# Enable origin-checking CSRF mitigation. Previous versions had false. +Rails.application.config.action_controller.forgery_protection_origin_check = true + +# Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`. +# Previous versions had false. +ActiveSupport.to_time_preserves_timezone = true + +# Require `belongs_to` associations by default. Previous versions had false. +Rails.application.config.active_record.belongs_to_required_by_default = true + +# Do not halt callback chains when a callback returns false. Previous versions had true. +ActiveSupport.halt_callback_chains_on_return_false = false + +# Configure SSL options to enable HSTS with subdomains. Previous versions had false. +Rails.application.config.ssl_options = { hsts: { subdomains: true } } diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb new file mode 100644 index 000000000..80e157130 --- /dev/null +++ b/config/initializers/session_store.rb @@ -0,0 +1,3 @@ +# Be sure to restart your server when you modify this file. + +Rails.application.config.session_store :cookie_store, key: '_TaskList_session' diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb new file mode 100644 index 000000000..bbfc3961b --- /dev/null +++ b/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# To enable root element in JSON for ActiveRecord objects. +# ActiveSupport.on_load(:active_record) do +# self.include_root_in_json = true +# end diff --git a/config/locales/en.yml b/config/locales/en.yml new file mode 100644 index 000000000..065395716 --- /dev/null +++ b/config/locales/en.yml @@ -0,0 +1,23 @@ +# Files in the config/locales directory are used for internationalization +# and are automatically loaded by Rails. If you want to use locales other +# than English, add the necessary files in this directory. +# +# To use the locales, use `I18n.t`: +# +# I18n.t 'hello' +# +# In views, this is aliased to just `t`: +# +# <%= t('hello') %> +# +# To use a different locale, set it with `I18n.locale`: +# +# I18n.locale = :es +# +# This would use the information in config/locales/es.yml. +# +# To learn more, please read the Rails Internationalization guide +# available at http://guides.rubyonrails.org/i18n.html. + +en: + hello: "Hello world" diff --git a/config/puma.rb b/config/puma.rb new file mode 100644 index 000000000..c7f311f81 --- /dev/null +++ b/config/puma.rb @@ -0,0 +1,47 @@ +# Puma can serve each request in a thread from an internal thread pool. +# The `threads` method setting takes two numbers a minimum and maximum. +# Any libraries that use thread pools should be configured to match +# the maximum value specified for Puma. Default is set to 5 threads for minimum +# and maximum, this matches the default thread size of Active Record. +# +threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i +threads threads_count, threads_count + +# Specifies the `port` that Puma will listen on to receive requests, default is 3000. +# +port ENV.fetch("PORT") { 3000 } + +# Specifies the `environment` that Puma will run in. +# +environment ENV.fetch("RAILS_ENV") { "development" } + +# Specifies the number of `workers` to boot in clustered mode. +# Workers are forked webserver processes. If using threads and workers together +# the concurrency of the application would be max `threads` * `workers`. +# Workers do not work on JRuby or Windows (both of which do not support +# processes). +# +# workers ENV.fetch("WEB_CONCURRENCY") { 2 } + +# Use the `preload_app!` method when specifying a `workers` number. +# This directive tells Puma to first boot the application and load code +# before forking the application. This takes advantage of Copy On Write +# process behavior so workers use less memory. If you use this option +# you need to make sure to reconnect any threads in the `on_worker_boot` +# block. +# +# preload_app! + +# The code in the `on_worker_boot` will be called if you are using +# clustered mode by specifying a number of `workers`. After each worker +# process is booted this block will be run, if you are using `preload_app!` +# option you will want to use this block to reconnect to any threads +# or connections that may have been created at application boot, Ruby +# cannot share connections between processes. +# +# on_worker_boot do +# ActiveRecord::Base.establish_connection if defined?(ActiveRecord) +# end + +# Allow puma to be restarted by `rails restart` command. +plugin :tmp_restart diff --git a/config/routes.rb b/config/routes.rb new file mode 100644 index 000000000..787824f88 --- /dev/null +++ b/config/routes.rb @@ -0,0 +1,3 @@ +Rails.application.routes.draw do + # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html +end diff --git a/config/secrets.yml b/config/secrets.yml new file mode 100644 index 000000000..da8b7ab0e --- /dev/null +++ b/config/secrets.yml @@ -0,0 +1,22 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key is used for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! + +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +# You can use `rails secret` to generate a secure secret key. + +# Make sure the secrets in this file are kept private +# if you're sharing your code publicly. + +development: + secret_key_base: dfae883d73e0421de24751e774c53e6c6a7971aad89dcd355839088ab8e0ba917a2040d9f40fc5561bea97f5fda029952ea12e4ebc5966ccd3650af2f54dc977 + +test: + secret_key_base: 0fe44cfa4782d45aae41ade30ea966cfc4a5d1b5b6c991d6c88d7f31ab5907de24acc5ec09a0c1892735f3a99e4bb3bca0fea6543aff330f6aea853edb22a120 + +# Do not keep production secrets in the repository, +# instead read values from the environment. +production: + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> diff --git a/config/spring.rb b/config/spring.rb new file mode 100644 index 000000000..c9119b40c --- /dev/null +++ b/config/spring.rb @@ -0,0 +1,6 @@ +%w( + .ruby-version + .rbenv-vars + tmp/restart.txt + tmp/caching-dev.txt +).each { |path| Spring.watch(path) } diff --git a/db/seeds.rb b/db/seeds.rb new file mode 100644 index 000000000..1beea2acc --- /dev/null +++ b/db/seeds.rb @@ -0,0 +1,7 @@ +# This file should contain all the record creation needed to seed the database with its default values. +# The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup). +# +# Examples: +# +# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }]) +# Character.create(name: 'Luke', movie: movies.first) diff --git a/lib/assets/.keep b/lib/assets/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/lib/tasks/.keep b/lib/tasks/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/log/.keep b/log/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/public/404.html b/public/404.html new file mode 100644 index 000000000..b612547fc --- /dev/null +++ b/public/404.html @@ -0,0 +1,67 @@ + + + + The page you were looking for doesn't exist (404) + + + + + + +
+
+

The page you were looking for doesn't exist.

+

You may have mistyped the address or the page may have moved.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/422.html b/public/422.html new file mode 100644 index 000000000..a21f82b3b --- /dev/null +++ b/public/422.html @@ -0,0 +1,67 @@ + + + + The change you wanted was rejected (422) + + + + + + +
+
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/500.html b/public/500.html new file mode 100644 index 000000000..061abc587 --- /dev/null +++ b/public/500.html @@ -0,0 +1,66 @@ + + + + We're sorry, but something went wrong (500) + + + + + + +
+
+

We're sorry, but something went wrong.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/apple-touch-icon-precomposed.png b/public/apple-touch-icon-precomposed.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 000000000..e69de29bb diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 000000000..3c9c7c01f --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,5 @@ +# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file +# +# To ban all spiders from the entire site uncomment the next two lines: +# User-agent: * +# Disallow: / diff --git a/test/controllers/.keep b/test/controllers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/fixtures/.keep b/test/fixtures/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/fixtures/files/.keep b/test/fixtures/files/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/helpers/.keep b/test/helpers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/integration/.keep b/test/integration/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/mailers/.keep b/test/mailers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/models/.keep b/test/models/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/test_helper.rb b/test/test_helper.rb new file mode 100644 index 000000000..92e39b2d7 --- /dev/null +++ b/test/test_helper.rb @@ -0,0 +1,10 @@ +ENV['RAILS_ENV'] ||= 'test' +require File.expand_path('../../config/environment', __FILE__) +require 'rails/test_help' + +class ActiveSupport::TestCase + # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. + fixtures :all + + # Add more helper methods to be used by all tests here... +end diff --git a/vendor/assets/javascripts/.keep b/vendor/assets/javascripts/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/assets/stylesheets/.keep b/vendor/assets/stylesheets/.keep new file mode 100644 index 000000000..e69de29bb From c2a5f8c54f1bf3f1a31e49cbf475d450c8917165 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Mon, 20 Mar 2017 14:56:31 -0700 Subject: [PATCH 02/44] Finished hard coding tasks list in controller and displaying in index view. --- app/assets/javascripts/tasks.coffee | 3 + app/assets/stylesheets/tasks.scss | 3 + app/controllers/tasks_controller.rb | 5 + app/helpers/tasks_helper.rb | 2 + app/views/tasks/index.html.erb | 11 ++ config/routes.rb | 3 + db/development.sqlite3 | 0 log/development.log | 137 ++++++++++++++++++++++ test/controllers/tasks_controller_test.rb | 9 ++ 9 files changed, 173 insertions(+) create mode 100644 app/assets/javascripts/tasks.coffee create mode 100644 app/assets/stylesheets/tasks.scss create mode 100644 app/controllers/tasks_controller.rb create mode 100644 app/helpers/tasks_helper.rb create mode 100644 app/views/tasks/index.html.erb create mode 100644 db/development.sqlite3 create mode 100644 log/development.log create mode 100644 test/controllers/tasks_controller_test.rb diff --git a/app/assets/javascripts/tasks.coffee b/app/assets/javascripts/tasks.coffee new file mode 100644 index 000000000..24f83d18b --- /dev/null +++ b/app/assets/javascripts/tasks.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/tasks.scss b/app/assets/stylesheets/tasks.scss new file mode 100644 index 000000000..c5e7712d4 --- /dev/null +++ b/app/assets/stylesheets/tasks.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Tasks controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb new file mode 100644 index 000000000..1cd40717b --- /dev/null +++ b/app/controllers/tasks_controller.rb @@ -0,0 +1,5 @@ +class TasksController < ApplicationController + def index + @tasks = ["Work Out", "Homework", "Eat"] + end +end diff --git a/app/helpers/tasks_helper.rb b/app/helpers/tasks_helper.rb new file mode 100644 index 000000000..ce894d00c --- /dev/null +++ b/app/helpers/tasks_helper.rb @@ -0,0 +1,2 @@ +module TasksHelper +end diff --git a/app/views/tasks/index.html.erb b/app/views/tasks/index.html.erb new file mode 100644 index 000000000..da37315bc --- /dev/null +++ b/app/views/tasks/index.html.erb @@ -0,0 +1,11 @@ +

Tasks#index

+

Find me in app/views/tasks/index.html.erb

+ +

Your Tasks Are

+ diff --git a/config/routes.rb b/config/routes.rb index 787824f88..d9609aab2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,3 +1,6 @@ Rails.application.routes.draw do # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html + + get '/tasks', to: 'tasks#index' + end diff --git a/db/development.sqlite3 b/db/development.sqlite3 new file mode 100644 index 000000000..e69de29bb diff --git a/log/development.log b/log/development.log new file mode 100644 index 000000000..83cbaf65d --- /dev/null +++ b/log/development.log @@ -0,0 +1,137 @@ +Started GET "/" for ::1 at 2017-03-20 14:39:53 -0700 +Processing by Rails::WelcomeController#index as HTML + Parameters: {"internal"=>true} + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/railties-5.0.2/lib/rails/templates/rails/welcome/index.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/railties-5.0.2/lib/rails/templates/rails/welcome/index.html.erb (4.3ms) +Completed 200 OK in 24ms (Views: 11.0ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-20 14:40:01 -0700 + +ActionController::RoutingError (No route matches [GET] "/tasks"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (9.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (75.0ms) +Started GET "/tasks" for ::1 at 2017-03-20 14:41:52 -0700 + +ActionController::RoutingError (uninitialized constant TasksController): + +activesupport (5.0.2) lib/active_support/inflector/methods.rb:268:in `const_get' +activesupport (5.0.2) lib/active_support/inflector/methods.rb:268:in `block in constantize' +activesupport (5.0.2) lib/active_support/inflector/methods.rb:266:in `each' +activesupport (5.0.2) lib/active_support/inflector/methods.rb:266:in `inject' +activesupport (5.0.2) lib/active_support/inflector/methods.rb:266:in `constantize' +actionpack (5.0.2) lib/action_dispatch/http/request.rb:81:in `controller_class' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:44:in `controller' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:30:in `serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:39:in `block in serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `each' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `serve' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:725:in `call' +rack (2.0.1) lib/rack/etag.rb:25:in `call' +rack (2.0.1) lib/rack/conditional_get.rb:25:in `call' +rack (2.0.1) lib/rack/head.rb:12:in `call' +rack (2.0.1) lib/rack/session/abstract/id.rb:222:in `context' +rack (2.0.1) lib/rack/session/abstract/id.rb:216:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/cookies.rb:613:in `call' +activerecord (5.0.2) lib/active_record/migration.rb:553:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call' +activesupport (5.0.2) lib/active_support/callbacks.rb:97:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:36:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.6ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [1 times] (10.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.3ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (88.7ms) +Started GET "/tasks" for ::1 at 2017-03-20 14:46:33 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.5ms) +Completed 200 OK in 458ms (Views: 455.8ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-20 14:51:12 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.4ms) +Completed 200 OK in 21ms (Views: 18.9ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-20 14:53:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.5ms) +Completed 200 OK in 24ms (Views: 22.1ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-20 14:54:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.9ms) +Completed 200 OK in 27ms (Views: 25.0ms | ActiveRecord: 0.0ms) + + diff --git a/test/controllers/tasks_controller_test.rb b/test/controllers/tasks_controller_test.rb new file mode 100644 index 000000000..67683c951 --- /dev/null +++ b/test/controllers/tasks_controller_test.rb @@ -0,0 +1,9 @@ +require 'test_helper' + +class TasksControllerTest < ActionDispatch::IntegrationTest + test "should get index" do + get tasks_index_url + assert_response :success + end + +end From b08a8d649ff230301ea06580a38d3e5327a00274 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Tue, 21 Mar 2017 13:58:14 -0700 Subject: [PATCH 03/44] Created Task model & migrations. Used migration to add 3 tasks --- app/models/task.rb | 2 + db/development.sqlite3 | Bin 0 -> 28672 bytes db/migrate/20170321203753_create_tasts.rb | 11 +++ db/schema.rb | 23 ++++++ log/development.log | 86 ++++++++++++++++++++++ test/fixtures/tasts.yml | 17 +++++ test/models/tast_test.rb | 7 ++ 7 files changed, 146 insertions(+) create mode 100644 app/models/task.rb create mode 100644 db/migrate/20170321203753_create_tasts.rb create mode 100644 db/schema.rb create mode 100644 test/fixtures/tasts.yml create mode 100644 test/models/tast_test.rb diff --git a/app/models/task.rb b/app/models/task.rb new file mode 100644 index 000000000..3c2342421 --- /dev/null +++ b/app/models/task.rb @@ -0,0 +1,2 @@ +class Task < ApplicationRecord +end diff --git a/db/development.sqlite3 b/db/development.sqlite3 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..af2cd3c8d37849f6bb35e5ca22ea566862b8f690 100644 GIT binary patch literal 28672 zcmeI*Z%^7l90%|#DCnZrJ?f)nH_R4^|DcFW_h73VF=mR+VT{?5<}9Z)&=%VR^`YB) z*xT^Y-qxZ^O!j2SuAl}G9=QibzYQ(d-}QR^eGVR+)%y9mB*7w3Yi6hsey|+Nk=6#754E`bPaZ_G0Y!$oc4UzXpgy00Izz z00bZa0SG_<0ucCL0-LdzHZ`T}3bt3}!C_TSe$0R$*12nS@5bM6<&9#V7LDb#JncGm z(q#^xmMxQ~U*mC2)0FR8^PGYOm7uwab+k`3V+lH$uuBQLS}5jM@>_IsYjxe&+NB@! zyVTe&Zmbq$qxF2DNDCWs-CkRprirkt1Z^%Uk=Nf~)p|$%cS~qxAf|oED#Uh6{P=2ASzUO|eY4kvn(1EA z!DA(^&CMyN&s(1*tIQo{I`)Cj!Z8Sf?m(oIf;ns=G z^sP`-exJhmJsFj&qW&WCg#`i-fB*y_009U<00Izz00bZafd?Tlu0)c0DxFJZ^t7JJ zkAH?7y2?#&{0uX=z1Rwwb2tWV=5P-myz|&}QxO4vBy8nMh)H5JK00Izz z00bZa0SG_<0uX=z1R!uv1U8hxi3!8tZo~FH*Ws=x@dmGYwXhh@>}OJ$89hz))Y81Z zq|eVTW-|+!h5j|I`~Me2y|^bC;xZrr0SG_<0uX=z1Rwwb2tWV=5V*U*Saf2z?Z*e< z{r`xXAnFgf!2$sYKmY;|fB*y_009U<00Izrv;ux4PF`BXFm_nALPeR=58gqMRd};p z@(!q17vTf+seFKbm9s!lM$=ixcIlC9G240XJ-e`!)o0}&-lufEe@$75lV>|&pPpZ# z8+Eb51wHZVKHc*?aYDWQ{bui$SGUUa6%CH$BObeZ$}H)**~Nw2{Oep-Pi-}=-~YcP o>gA&yU?dI!2tWV=5P$##AOHafKmY;|c$fmiN>o#t|BoW_565$Pwg3PC literal 0 HcmV?d00001 diff --git a/db/migrate/20170321203753_create_tasts.rb b/db/migrate/20170321203753_create_tasts.rb new file mode 100644 index 000000000..0b992349a --- /dev/null +++ b/db/migrate/20170321203753_create_tasts.rb @@ -0,0 +1,11 @@ +class CreateTasks < ActiveRecord::Migration[5.0] + def change + create_table :tasks do |t| + t.string :name + t.string :description + t.date :completion_date + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb new file mode 100644 index 000000000..3b3334fac --- /dev/null +++ b/db/schema.rb @@ -0,0 +1,23 @@ +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended that you check this file into your version control system. + +ActiveRecord::Schema.define(version: 20170321203753) do + + create_table "tasks", force: :cascade do |t| + t.string "name" + t.string "description" + t.date "completion_date" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + +end diff --git a/log/development.log b/log/development.log index 83cbaf65d..a9bd4cde7 100644 --- a/log/development.log +++ b/log/development.log @@ -135,3 +135,89 @@ Processing by TasksController#index as HTML Completed 200 OK in 27ms (Views: 25.0ms | ActiveRecord: 0.0ms) +  (1.6ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY) +  (1.4ms) CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) + ActiveRecord::SchemaMigration Load (0.6ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) +  (0.1ms) begin transaction +  (0.6ms) CREATE TABLE "tasts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "description" varchar, "completion_date" date, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) + SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20170321203753"]] +  (1.1ms) commit transaction + ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", :environment], ["LIMIT", 1]] +  (0.0ms) begin transaction + SQL (0.5ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["key", "environment"], ["value", "development"], ["created_at", 2017-03-21 20:42:24 UTC], ["updated_at", 2017-03-21 20:42:24 UTC]] +  (1.7ms) commit transaction + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" +  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" + ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", :environment], ["LIMIT", 1]] +  (0.1ms) begin transaction +  (0.0ms) commit transaction + ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations".* FROM "schema_migrations" +  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) +  (0.1ms) begin transaction +  (0.9ms) DROP TABLE "tasks" +  (0.1ms) rollback transaction +  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) +  (0.1ms) begin transaction +  (0.4ms) DROP TABLE "tasks" +  (0.1ms) rollback transaction + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) +  (0.0ms) begin transaction +  (0.3ms) DROP TABLE "tasks" +  (0.0ms) rollback transaction + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) +  (0.4ms) begin transaction +  (0.4ms) DROP TABLE "tasks" +  (0.0ms) rollback transaction +  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) +  (0.0ms) begin transaction +  (0.3ms) DROP TABLE "tasks" +  (0.1ms) rollback transaction + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.0ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) +  (0.0ms) begin transaction +  (2.1ms) DROP TABLE "tasts" + SQL (0.2ms) DELETE FROM "schema_migrations" WHERE "schema_migrations"."version" = ? [["version", "20170321203753"]] +  (1.0ms) commit transaction + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" +  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to CreateTasts (20170321203753) +  (0.0ms) begin transaction +  (0.5ms) CREATE TABLE "tasks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "description" varchar, "completion_date" date, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) + SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20170321203753"]] +  (1.0ms) commit transaction + ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", :environment], ["LIMIT", 1]] +  (0.1ms) begin transaction +  (0.1ms) commit transaction + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" +  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" +  (0.1ms) begin transaction + SQL (0.4ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Work Out"], ["description", "Get your booty off the couch & sweat."], ["created_at", 2017-03-21 20:53:27 UTC], ["updated_at", 2017-03-21 20:53:27 UTC]] +  (2.3ms) commit transaction + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" +  (0.1ms) begin transaction +  (0.1ms) commit transaction +  (0.1ms) begin transaction + SQL (0.5ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Walk the Dog"], ["description", "Take the dog out for at least a 15min walk."], ["created_at", 2017-03-21 20:56:52 UTC], ["updated_at", 2017-03-21 20:56:52 UTC]] +  (2.5ms) commit transaction + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" diff --git a/test/fixtures/tasts.yml b/test/fixtures/tasts.yml new file mode 100644 index 000000000..62958771b --- /dev/null +++ b/test/fixtures/tasts.yml @@ -0,0 +1,17 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + name: MyString + string,: MyString + description: MyString + string,: MyString + completion_date: MyString + date: MyString + +two: + name: MyString + string,: MyString + description: MyString + string,: MyString + completion_date: MyString + date: MyString diff --git a/test/models/tast_test.rb b/test/models/tast_test.rb new file mode 100644 index 000000000..eb967e2a7 --- /dev/null +++ b/test/models/tast_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class TastTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From 7aaa905af89354aef28132921592746535a6f938 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Tue, 21 Mar 2017 14:06:36 -0700 Subject: [PATCH 04/44] updated controller to show Task.all for index. Updated view to display task name and description. --- app/controllers/tasks_controller.rb | 2 +- app/views/tasks/index.html.erb | 2 +- db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 171 ++++++++++++++++++++++++++++ 4 files changed, 173 insertions(+), 2 deletions(-) diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 1cd40717b..5501f0bb8 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -1,5 +1,5 @@ class TasksController < ApplicationController def index - @tasks = ["Work Out", "Homework", "Eat"] + @tasks = Task.all end end diff --git a/app/views/tasks/index.html.erb b/app/views/tasks/index.html.erb index da37315bc..319764ab9 100644 --- a/app/views/tasks/index.html.erb +++ b/app/views/tasks/index.html.erb @@ -5,7 +5,7 @@
    <% @tasks.each do |task| %>
  • - <%= task %> + <%= task.name %>: <%= task.description %>
  • <% end %>
diff --git a/db/development.sqlite3 b/db/development.sqlite3 index af2cd3c8d37849f6bb35e5ca22ea566862b8f690..46e52ad436b1740b2a8de61dcdfdfca7be9237bd 100644 GIT binary patch delta 170 zcmZp8z}WDBae_1>=R_H2M$U~1OZ>T*`F1k!PvckO+qqd#U^QQTIx{ISTLSjyiLPjf;*Se3G6MjDMK0(7 delta 40 wcmZp8z}WDBae_1>$3z)tMvjdMOZ+*Q_>~y=r|~Oo78DTU->ejWSAdZT0P{o&q5uE@ diff --git a/log/development.log b/log/development.log index a9bd4cde7..69fca1aaf 100644 --- a/log/development.log +++ b/log/development.log @@ -221,3 +221,174 @@ Migrating to CreateTasts (20170321203753) SQL (0.5ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Walk the Dog"], ["description", "Take the dog out for at least a 15min walk."], ["created_at", 2017-03-21 20:56:52 UTC], ["updated_at", 2017-03-21 20:56:52 UTC]]  (2.5ms) commit transaction Task Load (0.2ms) SELECT "tasks".* FROM "tasks" +Started GET "/books" for ::1 at 2017-03-21 14:01:06 -0700 + ActiveRecord::SchemaMigration Load (0.5ms) SELECT "schema_migrations".* FROM "schema_migrations" + +ActionController::RoutingError (No route matches [GET] "/books"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [1 times] (7.3ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (9.9ms) +Started GET "/books" for ::1 at 2017-03-21 14:01:06 -0700 + +ActionController::RoutingError (No route matches [GET] "/books"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (13.6ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (146.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [1 times] (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (190.0ms) +Started GET "/" for ::1 at 2017-03-21 14:01:10 -0700 +Processing by Rails::WelcomeController#index as HTML + Parameters: {"internal"=>true} + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/railties-5.0.2/lib/rails/templates/rails/welcome/index.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/railties-5.0.2/lib/rails/templates/rails/welcome/index.html.erb (2.8ms) +Completed 200 OK in 8ms (Views: 5.2ms | ActiveRecord: 0.0ms) + + +Started GET "/Tasks" for ::1 at 2017-03-21 14:01:14 -0700 + +ActionController::RoutingError (No route matches [GET] "/Tasks"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.3ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [1 times] (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (86.7ms) +Started GET "/tasks" for ::1 at 2017-03-21 14:01:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (3.1ms) +Completed 500 Internal Server Error in 19ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (undefined method `each' for nil:NilClass): + 3: + 4:

Your Tasks Are

+ 5:
    + 6: <% @tasks.each do |task| %> + 7:
  • + 8: <%= task %> + 9:
  • + +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb___2917248293471344890_70137097652600' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (6.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (91.8ms) +Started GET "/tasks" for ::1 at 2017-03-21 14:02:11 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.5ms) +Completed 200 OK in 216ms (Views: 207.1ms | ActiveRecord: 1.2ms) + + + Task Load (2.0ms) SELECT "tasks".* FROM "tasks" +  (0.1ms) begin transaction + SQL (2.4ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Shopping"], ["description", "Buy all the groceries for this week."], ["created_at", 2017-03-21 21:04:10 UTC], ["updated_at", 2017-03-21 21:04:10 UTC]] +  (1.2ms) commit transaction + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" +Started GET "/tasks" for ::1 at 2017-03-21 14:04:28 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.3ms) +Completed 200 OK in 30ms (Views: 27.9ms | ActiveRecord: 0.2ms) + + From bc781f72fc79f2e8bd1c39964dc760813243d441 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Tue, 21 Mar 2017 14:15:38 -0700 Subject: [PATCH 05/44] Created route for tasks#show. Added method in controller and view as show.html.erb --- app/controllers/tasks_controller.rb | 6 +++ app/views/tasks/show.html.erb | 6 +++ config/routes.rb | 2 + log/development.log | 73 +++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 app/views/tasks/show.html.erb diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 5501f0bb8..055975026 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -1,5 +1,11 @@ class TasksController < ApplicationController + def index @tasks = Task.all end + + def show + @result_task = Task.find(params[:id]) + end + end diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb new file mode 100644 index 000000000..f9f306cf9 --- /dev/null +++ b/app/views/tasks/show.html.erb @@ -0,0 +1,6 @@ +

    Each Task

    + +

    + Task number <%= params[:id] %> is + <%= @result_task.name%>: <%=@result_task.description%> +

    diff --git a/config/routes.rb b/config/routes.rb index d9609aab2..bfb91df0c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,4 +3,6 @@ get '/tasks', to: 'tasks#index' + get '/tasks/:id', to: 'tasks#show' + end diff --git a/log/development.log b/log/development.log index 69fca1aaf..29b3490af 100644 --- a/log/development.log +++ b/log/development.log @@ -392,3 +392,76 @@ Processing by TasksController#index as HTML Completed 200 OK in 30ms (Views: 27.9ms | ActiveRecord: 0.2ms) +Started GET "/tasks/1" for ::1 at 2017-03-21 14:08:18 -0700 + +ActionController::RoutingError (No route matches [GET] "/tasks/1"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.0ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [1 times] (1.5ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.5ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (80.5ms) +Started GET "/tasks/1" for ::1 at 2017-03-21 14:14:24 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.5ms) +Completed 200 OK in 43ms (Views: 22.8ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks/" for ::1 at 2017-03-21 14:14:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.3ms) +Completed 200 OK in 22ms (Views: 18.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-21 14:14:42 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 19ms (Views: 16.9ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-21 14:14:49 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.4ms) +Completed 200 OK in 18ms (Views: 16.0ms | ActiveRecord: 0.1ms) + + From 066175475384b10ff9da4a3899b249a6c3a23d7f Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Tue, 21 Mar 2017 14:20:54 -0700 Subject: [PATCH 06/44] Added as:task in routes so I could use link_to and rails wouldn't be confused. --- config/routes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index bfb91df0c..13ffd486c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,6 +3,6 @@ get '/tasks', to: 'tasks#index' - get '/tasks/:id', to: 'tasks#show' + get '/tasks/:id', to: 'tasks#show', as: 'task' end From e10514b9011406415085e36ccd053c5b2014577d Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Tue, 21 Mar 2017 14:25:38 -0700 Subject: [PATCH 07/44] using link_to, added link back to index page on each show page. --- app/views/tasks/index.html.erb | 3 +- app/views/tasks/show.html.erb | 4 ++ log/development.log | 113 +++++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+), 2 deletions(-) diff --git a/app/views/tasks/index.html.erb b/app/views/tasks/index.html.erb index 319764ab9..f2d09e320 100644 --- a/app/views/tasks/index.html.erb +++ b/app/views/tasks/index.html.erb @@ -1,11 +1,10 @@

    Tasks#index

    -

    Find me in app/views/tasks/index.html.erb

    Your Tasks Are

      <% @tasks.each do |task| %>
    • - <%= task.name %>: <%= task.description %> + <%= link_to task.name, task_path(task.id) %>: <%= task.description %>
    • <% end %>
    diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index f9f306cf9..dc9d47bd0 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -4,3 +4,7 @@ Task number <%= params[:id] %> is <%= @result_task.name%>: <%=@result_task.description%>

    + +

    + <%= link_to "home", tasks_path %> +

    diff --git a/log/development.log b/log/development.log index 29b3490af..172baf291 100644 --- a/log/development.log +++ b/log/development.log @@ -465,3 +465,116 @@ Processing by TasksController#show as HTML Completed 200 OK in 18ms (Views: 16.0ms | ActiveRecord: 0.1ms) +Started GET "/tasks/" for ::1 at 2017-03-21 14:22:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (165.6ms) +Completed 500 Internal Server Error in 176ms (ActiveRecord: 0.6ms) + + + +ActionView::Template::Error (undefined local variable or method `book' for #<#:0x007f9423c32698>): + 5:
      + 6: <% @tasks.each do |task| %> + 7:
    • + 8: <%= link_to task.name, task_path(book.id) %>: <%= task.description %> + 9:
    • + 10: <% end %> + 11:
    + +app/views/tasks/index.html.erb:8:in `block in _app_views_tasks_index_html_erb___2917248293471344890_70137114411240' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb___2917248293471344890_70137114411240' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (61.4ms) +Started GET "/tasks/" for ::1 at 2017-03-21 14:22:48 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 30ms (Views: 27.9ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-21 14:22:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 29ms (Views: 23.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/" for ::1 at 2017-03-21 14:23:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.4ms) +Completed 200 OK in 26ms (Views: 24.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-21 14:23:10 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.5ms) +Completed 200 OK in 30ms (Views: 25.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-21 14:24:48 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.7ms) +Completed 200 OK in 18ms (Views: 15.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 14:24:49 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.6ms) +Completed 200 OK in 26ms (Views: 21.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-21 14:24:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.6ms) +Completed 200 OK in 29ms (Views: 25.5ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 14:24:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 34ms (Views: 28.9ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-21 14:24:53 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 28ms (Views: 24.7ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 14:24:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.6ms) +Completed 200 OK in 31ms (Views: 26.4ms | ActiveRecord: 0.2ms) + + From 281b38512c18cf630f95da23b8415950cefc29ea Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Tue, 21 Mar 2017 14:29:14 -0700 Subject: [PATCH 08/44] great migration file add_col_to_tasks.rb --- db/migrate/20170321212854_add_col_to_tasks.rb | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 db/migrate/20170321212854_add_col_to_tasks.rb diff --git a/db/migrate/20170321212854_add_col_to_tasks.rb b/db/migrate/20170321212854_add_col_to_tasks.rb new file mode 100644 index 000000000..d7263bbba --- /dev/null +++ b/db/migrate/20170321212854_add_col_to_tasks.rb @@ -0,0 +1,4 @@ +class AddColToTasks < ActiveRecord::Migration[5.0] + def change + end +end From 292f34587899255b72dc330d763895418c6942cd Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Tue, 21 Mar 2017 14:32:10 -0700 Subject: [PATCH 09/44] added column to Tasks:image --- db/development.sqlite3 | Bin 28672 -> 28672 bytes db/migrate/20170321212854_add_col_to_tasks.rb | 1 + db/schema.rb | 3 ++- log/Book.new.log | 0 log/development.log | 11 +++++++++++ 5 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 log/Book.new.log diff --git a/db/development.sqlite3 b/db/development.sqlite3 index 46e52ad436b1740b2a8de61dcdfdfca7be9237bd..451eeef7438f009fe9090a1828379b909dc995f2 100644 GIT binary patch delta 182 zcmZp8z}WDBae}lU7Xt$WI}pPF+e95>2`&cRzXiO!P7G{33=I6%{9E}H`9AS{;Mv&N z$<5W6%g!z?F3#9&IoXHzijaqH%6NlpgczXiPfKN#3}J}~fG^Ka!-+q_c5_C^1ox?f45mM;R*lbck*J${LSz5g&Y7}D;?AT diff --git a/db/migrate/20170321212854_add_col_to_tasks.rb b/db/migrate/20170321212854_add_col_to_tasks.rb index d7263bbba..5cc7ad5c9 100644 --- a/db/migrate/20170321212854_add_col_to_tasks.rb +++ b/db/migrate/20170321212854_add_col_to_tasks.rb @@ -1,4 +1,5 @@ class AddColToTasks < ActiveRecord::Migration[5.0] def change + add_column :tasks, :image, :string end end diff --git a/db/schema.rb b/db/schema.rb index 3b3334fac..2e4d81caa 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170321203753) do +ActiveRecord::Schema.define(version: 20170321212854) do create_table "tasks", force: :cascade do |t| t.string "name" @@ -18,6 +18,7 @@ t.date "completion_date" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.string "image" end end diff --git a/log/Book.new.log b/log/Book.new.log new file mode 100644 index 000000000..e69de29bb diff --git a/log/development.log b/log/development.log index 172baf291..efdb423df 100644 --- a/log/development.log +++ b/log/development.log @@ -578,3 +578,14 @@ Processing by TasksController#index as HTML Completed 200 OK in 31ms (Views: 26.4ms | ActiveRecord: 0.2ms) + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to AddColToTasks (20170321212854) +  (0.5ms) begin transaction +  (0.6ms) ALTER TABLE "tasks" ADD "image" varchar + SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20170321212854"]] +  (0.8ms) commit transaction + ActiveRecord::InternalMetadata Load (0.2ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", :environment], ["LIMIT", 1]] +  (0.1ms) begin transaction +  (0.0ms) commit transaction + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" From 68b595cfcb376f769b052953974c0bdec880dcd8 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Tue, 21 Mar 2017 14:37:40 -0700 Subject: [PATCH 10/44] added photo urls in database. Changed show.html.erb to display images for each task --- app/views/tasks/show.html.erb | 4 ++ db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 100 ++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+) diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index dc9d47bd0..dd45f5aa3 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -5,6 +5,10 @@ <%= @result_task.name%>: <%=@result_task.description%>

    +

    + task photo +

    +

    <%= link_to "home", tasks_path %>

    diff --git a/db/development.sqlite3 b/db/development.sqlite3 index 451eeef7438f009fe9090a1828379b909dc995f2..e16a5569f00ad104d0fa598d17fbe2228d5c8c1a 100644 GIT binary patch delta 421 zcmXYtzfQw25QiNq1|&jZ21dkyY{zlpCSeK;j0o{>f;1#YYe?eAO(}GteFIP*0PzTj ziGhVD;T0IzNh(e^+;F<@yWiy7n0y;g>xTKfv2U1f-Pc2NE`U~@}$e1z-7eq9pAJ1RaFL*UdizofD};CQHc{(R8UlOSY|3t2h_Hh zLoH7C=3Dqcs|54|KJKfsltqu+l)Y(a)R6NAvO9Z;jwK5?512z7&bZt8$HZg7gxm4R zog(=Fk|LcWuVn^vilCODj8Vab#cUy%?b+P7Z07pD<8j{MZZuN*Rt+oGP!U4K?DG=V z>S1wfdbY5Hwvxu-XtonwJk}0QVELrEWcmLNGVhTQ6b0xUQW=v(*F+g-My`zs3;lT+7#NuOb~5l!<5%L_xmi$PH6KelGdsiNy>Y3W pMNI4rs>uwFj+2e!V<(rz^KoV{vNOnrgG3nPf+t(W@hwUa008bH7J~o) diff --git a/log/development.log b/log/development.log index efdb423df..ead6d00e9 100644 --- a/log/development.log +++ b/log/development.log @@ -589,3 +589,103 @@ Migrating to AddColToTasks (20170321212854)  (0.0ms) commit transaction ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Task Load (1.7ms) SELECT "tasks".* FROM "tasks" + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (1.9ms) UPDATE "tasks" SET "updated_at" = ?, "image" = ? WHERE "tasks"."id" = ? [["updated_at", 2017-03-21 21:33:14 UTC], ["image", "http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg"], ["id", 1]] +  (0.9ms) commit transaction + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.4ms) UPDATE "tasks" SET "updated_at" = ?, "image" = ? WHERE "tasks"."id" = ? [["updated_at", 2017-03-21 21:34:09 UTC], ["image", "http://img.wennermedia.com/article-leads-horizontal/mj-618_348_the-ideal-exercise-for-your-dog.jpg"], ["id", 2]] +  (2.4ms) commit transaction + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.4ms) UPDATE "tasks" SET "updated_at" = ?, "image" = ? WHERE "tasks"."id" = ? [["updated_at", 2017-03-21 21:34:51 UTC], ["image", "http://bizzee.net/wp-content/uploads/2014/03/Bizzee-Grocery-Shopping.jpg"], ["id", 3]] +  (2.2ms) commit transaction +Started GET "/tasks" for ::1 at 2017-03-21 14:35:40 -0700 + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.4ms) +Completed 200 OK in 38ms (Views: 30.1ms | ActiveRecord: 0.6ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-21 14:35:42 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 31ms (Views: 25.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-21 14:36:39 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 27ms (Views: 24.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 14:36:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 47ms (Views: 42.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-21 14:36:47 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.7ms) +Completed 200 OK in 34ms (Views: 30.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 14:36:49 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.4ms) +Completed 200 OK in 35ms (Views: 30.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-21 14:36:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 33ms (Views: 29.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 14:36:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 34ms (Views: 29.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-21 14:36:55 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 31ms (Views: 26.8ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 14:36:58 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 31ms (Views: 25.2ms | ActiveRecord: 0.2ms) + + From ca61ee25dd95ffa671c928a3774048aede5dd1c2 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 12:44:01 -0700 Subject: [PATCH 11/44] created route for getting form for new task --- config/routes.rb | 4 +- db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 295 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 297 insertions(+), 2 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index 13ffd486c..2a299a0e3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,8 +1,8 @@ Rails.application.routes.draw do # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html - get '/tasks', to: 'tasks#index' + get '/tasks/new', to: 'tasks#new', as: 'new_task' + get '/tasks', to: 'tasks#index' get '/tasks/:id', to: 'tasks#show', as: 'task' - end diff --git a/db/development.sqlite3 b/db/development.sqlite3 index e16a5569f00ad104d0fa598d17fbe2228d5c8c1a..55a9f371b5c8cd318734be9f5cc03d5f29aef69e 100644 GIT binary patch delta 230 zcmZp8z}WDBae_1>|3n#QM*fWnOZ<6Qc&0G$e&tu^b>x|{Sx}&or@qmYg_A+rn!(Yr zu~7@o)b>d%%}Xh&bWbf&sLU@dQb^9pFUd$P2GXgCd5T5`hUU5k#=1s^3Pwg&re;irJyLaxL7YaKUW`UpsBv0fqqJ6QAwq44#Zh{Sq15v9b@+iF|q&v DdV@tV delta 42 ycmZp8z}WDBae_1>??f4AM&6AHOZ>T*c^w&ezw)c|I&KyeFy`It7`so1kr@CHy$hHC diff --git a/log/development.log b/log/development.log index ead6d00e9..da452a8c9 100644 --- a/log/development.log +++ b/log/development.log @@ -689,3 +689,298 @@ Processing by TasksController#index as HTML Completed 200 OK in 31ms (Views: 25.2ms | ActiveRecord: 0.2ms) +Started GET "/tasks/1" for ::1 at 2017-03-21 14:38:24 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 44ms (Views: 38.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-21 14:38:28 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 36ms (Views: 30.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-21 14:38:31 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 37ms (Views: 31.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 14:38:36 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.4ms) +Completed 200 OK in 36ms (Views: 31.3ms | ActiveRecord: 0.2ms) + + +Started GET "/books" for ::1 at 2017-03-21 14:39:25 -0700 + +ActionController::RoutingError (No route matches [GET] "/books"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [2 times] (1.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (81.6ms) +Started GET "/books" for ::1 at 2017-03-21 14:39:26 -0700 + +ActionController::RoutingError (No route matches [GET] "/books"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.2ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [2 times] (1.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (85.7ms) +Started GET "/tasks" for ::1 at 2017-03-21 14:39:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 24ms (Views: 21.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-21 15:54:39 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 41ms (Views: 34.7ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 15:54:42 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 34ms (Views: 31.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-21 15:54:44 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 35ms (Views: 29.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 15:54:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 33ms (Views: 29.5ms | ActiveRecord: 0.2ms) + + + Task Load (1.6ms) SELECT "tasks".* FROM "tasks" +  (0.2ms) begin transaction + SQL (0.5ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at", "image") VALUES (?, ?, ?, ?, ?) [["name", "Laundry"], ["description", "Get your clothes clean!"], ["created_at", 2017-03-21 22:56:48 UTC], ["updated_at", 2017-03-21 22:56:48 UTC], ["image", "http://www.laundrytowncanada.com/wp-content/uploads/2015/10/dirty-laundry-basket-large.jpg"]] +  (1.3ms) commit transaction +Started GET "/tasks" for ::1 at 2017-03-21 15:56:55 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 28ms (Views: 25.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-21 15:56:59 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 29ms (Views: 24.0ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-21 15:57:07 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.3ms) +Completed 200 OK in 35ms (Views: 32.4ms | ActiveRecord: 0.2ms) + + +  (0.1ms) begin transaction + SQL (0.5ms) UPDATE "tasks" SET "updated_at" = ?, "image" = ? WHERE "tasks"."id" = ? [["updated_at", 2017-03-21 22:58:13 UTC], ["image", "https://survivalofstudentathletes.files.wordpress.com/2015/10/dirty-laundry.jpg"], ["id", 4]] +  (3.2ms) commit transaction +Started GET "/tasks" for ::1 at 2017-03-21 15:58:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.4ms) +Completed 200 OK in 22ms (Views: 19.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-21 15:58:22 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 31ms (Views: 25.8ms | ActiveRecord: 0.1ms) + + + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" +Started GET "/tasks" for ::1 at 2017-03-21 16:15:38 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.9ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (11.8ms) +Completed 200 OK in 80ms (Views: 71.0ms | ActiveRecord: 0.9ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 12:41:49 -0700 + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (12.2ms) +Completed 200 OK in 242ms (Views: 226.9ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 12:41:55 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"new"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 0], ["LIMIT", 1]] +Completed 404 Not Found in 3ms (ActiveRecord: 0.3ms) + + + +ActiveRecord::RecordNotFound (Couldn't find Task with 'id'=new): + +app/controllers/tasks_controller.rb:8:in `show' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (2.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (64.0ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 12:43:23 -0700 + +AbstractController::ActionNotFound (The action 'new' could not be found for TasksController): + +actionpack (5.0.2) lib/abstract_controller/base.rb:121:in `process' +actionview (5.0.2) lib/action_view/rendering.rb:30:in `process' +actionpack (5.0.2) lib/action_controller/metal.rb:190:in `dispatch' +actionpack (5.0.2) lib/action_controller/metal.rb:262:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:32:in `serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:39:in `block in serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `each' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `serve' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:725:in `call' +rack (2.0.1) lib/rack/etag.rb:25:in `call' +rack (2.0.1) lib/rack/conditional_get.rb:25:in `call' +rack (2.0.1) lib/rack/head.rb:12:in `call' +rack (2.0.1) lib/rack/session/abstract/id.rb:222:in `context' +rack (2.0.1) lib/rack/session/abstract/id.rb:216:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/cookies.rb:613:in `call' +activerecord (5.0.2) lib/active_record/migration.rb:553:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call' +activesupport (5.0.2) lib/active_support/callbacks.rb:97:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:36:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout (0.4ms) From 4b945e96ede44e82b6370024429d8b3b6a185dc2 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 12:45:26 -0700 Subject: [PATCH 12/44] updated controller to add def new --- app/controllers/tasks_controller.rb | 2 + log/development.log | 93 +++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 055975026..021f4b7b1 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -8,4 +8,6 @@ def show @result_task = Task.find(params[:id]) end + def new + end end diff --git a/log/development.log b/log/development.log index da452a8c9..fb51ca490 100644 --- a/log/development.log +++ b/log/development.log @@ -984,3 +984,96 @@ puma (3.8.2) lib/puma/server.rb:299:in `block in run' puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout (0.4ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 12:44:34 -0700 +Processing by TasksController#new as HTML +Completed 406 Not Acceptable in 56ms (ActiveRecord: 0.0ms) + + + +ActionController::UnknownFormat (TasksController#new is missing a template for this request format and variant. + +request.formats: ["text/html"] +request.variant: [] + +NOTE! For XHR/Ajax or API requests, this action would normally respond with 204 No Content: an empty white screen. Since you're loading it in a web browser, we assume that you expected to actually render a template, not nothing, so we're showing an error to be extra-clear. If you expect 204 No Content, carry on. That's what you'll get from an XHR or API request. Give it a shot.): + +actionpack (5.0.2) lib/action_controller/metal/implicit_render.rb:56:in `default_render' +actionpack (5.0.2) lib/action_controller/metal/basic_implicit_render.rb:4:in `block in send_action' +actionpack (5.0.2) lib/action_controller/metal/basic_implicit_render.rb:4:in `tap' +actionpack (5.0.2) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action' +actionpack (5.0.2) lib/abstract_controller/base.rb:188:in `process_action' +actionpack (5.0.2) lib/action_controller/metal/rendering.rb:30:in `process_action' +actionpack (5.0.2) lib/abstract_controller/callbacks.rb:20:in `block in process_action' +activesupport (5.0.2) lib/active_support/callbacks.rb:126:in `call' +activesupport (5.0.2) lib/active_support/callbacks.rb:506:in `block (2 levels) in compile' +activesupport (5.0.2) lib/active_support/callbacks.rb:455:in `call' +activesupport (5.0.2) lib/active_support/callbacks.rb:101:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_process_action_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/abstract_controller/callbacks.rb:19:in `process_action' +actionpack (5.0.2) lib/action_controller/metal/rescue.rb:20:in `process_action' +actionpack (5.0.2) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action' +activesupport (5.0.2) lib/active_support/notifications.rb:164:in `block in instrument' +activesupport (5.0.2) lib/active_support/notifications/instrumenter.rb:21:in `instrument' +activesupport (5.0.2) lib/active_support/notifications.rb:164:in `instrument' +actionpack (5.0.2) lib/action_controller/metal/instrumentation.rb:30:in `process_action' +actionpack (5.0.2) lib/action_controller/metal/params_wrapper.rb:248:in `process_action' +activerecord (5.0.2) lib/active_record/railties/controller_runtime.rb:18:in `process_action' +actionpack (5.0.2) lib/abstract_controller/base.rb:126:in `process' +actionview (5.0.2) lib/action_view/rendering.rb:30:in `process' +actionpack (5.0.2) lib/action_controller/metal.rb:190:in `dispatch' +actionpack (5.0.2) lib/action_controller/metal.rb:262:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:32:in `serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:39:in `block in serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `each' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `serve' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:725:in `call' +rack (2.0.1) lib/rack/etag.rb:25:in `call' +rack (2.0.1) lib/rack/conditional_get.rb:25:in `call' +rack (2.0.1) lib/rack/head.rb:12:in `call' +rack (2.0.1) lib/rack/session/abstract/id.rb:222:in `context' +rack (2.0.1) lib/rack/session/abstract/id.rb:216:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/cookies.rb:613:in `call' +activerecord (5.0.2) lib/active_record/migration.rb:553:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call' +activesupport (5.0.2) lib/active_support/callbacks.rb:97:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:36:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (60.4ms) From 4bf0076c01e2a669c1afd97b5e44b9340ace6cc0 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 12:46:23 -0700 Subject: [PATCH 13/44] Added new.html.erb --- app/views/tasks/new.html.erb | 1 + log/development.log | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 app/views/tasks/new.html.erb diff --git a/app/views/tasks/new.html.erb b/app/views/tasks/new.html.erb new file mode 100644 index 000000000..ce16e7e3a --- /dev/null +++ b/app/views/tasks/new.html.erb @@ -0,0 +1 @@ +

    Create New Task

    diff --git a/log/development.log b/log/development.log index fb51ca490..6100d3660 100644 --- a/log/development.log +++ b/log/development.log @@ -1077,3 +1077,10 @@ puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (60.4ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 12:46:03 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (0.4ms) +Completed 200 OK in 27ms (Views: 25.2ms | ActiveRecord: 0.0ms) + + From 1294ca12b7d75a8959adf87187133efa15a40a27 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 12:51:28 -0700 Subject: [PATCH 14/44] hard coded form into new view file. --- app/views/tasks/new.html.erb | 12 ++++++++++++ log/development.log | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/app/views/tasks/new.html.erb b/app/views/tasks/new.html.erb index ce16e7e3a..d84d547e7 100644 --- a/app/views/tasks/new.html.erb +++ b/app/views/tasks/new.html.erb @@ -1 +1,13 @@

    Create New Task

    + +
    + + + + + + + + + +
    diff --git a/log/development.log b/log/development.log index 6100d3660..25a920c8e 100644 --- a/log/development.log +++ b/log/development.log @@ -1084,3 +1084,10 @@ Processing by TasksController#new as HTML Completed 200 OK in 27ms (Views: 25.2ms | ActiveRecord: 0.0ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 12:50:54 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (0.6ms) +Completed 200 OK in 24ms (Views: 22.6ms | ActiveRecord: 0.0ms) + + From f6f8d2de790493aab9f281647295199b4cb225e2 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 12:53:05 -0700 Subject: [PATCH 15/44] created route for post '/tasks', to: 'tasks#create' --- config/routes.rb | 1 + log/development.log | 94 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) diff --git a/config/routes.rb b/config/routes.rb index 2a299a0e3..516765026 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -2,6 +2,7 @@ # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html get '/tasks/new', to: 'tasks#new', as: 'new_task' + post '/tasks', to: 'tasks#create' get '/tasks', to: 'tasks#index' get '/tasks/:id', to: 'tasks#show', as: 'task' diff --git a/log/development.log b/log/development.log index 25a920c8e..786e4c8e2 100644 --- a/log/development.log +++ b/log/development.log @@ -1091,3 +1091,97 @@ Processing by TasksController#new as HTML Completed 200 OK in 24ms (Views: 22.6ms | ActiveRecord: 0.0ms) +Started POST "/tasks" for ::1 at 2017-03-22 12:51:39 -0700 + +ActionController::RoutingError (No route matches [POST] "/tasks"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [3 times] (14.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (7.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (97.1ms) +Started POST "/tasks" for ::1 at 2017-03-22 12:52:39 -0700 + +AbstractController::ActionNotFound (The action 'create' could not be found for TasksController): + +actionpack (5.0.2) lib/abstract_controller/base.rb:121:in `process' +actionview (5.0.2) lib/action_view/rendering.rb:30:in `process' +actionpack (5.0.2) lib/action_controller/metal.rb:190:in `dispatch' +actionpack (5.0.2) lib/action_controller/metal.rb:262:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:32:in `serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:39:in `block in serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `each' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `serve' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:725:in `call' +rack (2.0.1) lib/rack/etag.rb:25:in `call' +rack (2.0.1) lib/rack/conditional_get.rb:38:in `call' +rack (2.0.1) lib/rack/head.rb:12:in `call' +rack (2.0.1) lib/rack/session/abstract/id.rb:222:in `context' +rack (2.0.1) lib/rack/session/abstract/id.rb:216:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/cookies.rb:613:in `call' +activerecord (5.0.2) lib/active_record/migration.rb:553:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call' +activesupport (5.0.2) lib/active_support/callbacks.rb:97:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:36:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout (0.4ms) From 8316cadb872c26baafd5779bfef2e47103203c3b Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 12:55:32 -0700 Subject: [PATCH 16/44] define def create in controller, make it redirect to tasks_path to show updated index. --- app/controllers/tasks_controller.rb | 9 ++++++++ db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 32 ++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 021f4b7b1..d00ed607d 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -10,4 +10,13 @@ def show def new end + + def create + task = Task.new + task.name = params[:name] + task.description = params[:description] + if task.save + redirect_to tasks_path + end + end end diff --git a/db/development.sqlite3 b/db/development.sqlite3 index 55a9f371b5c8cd318734be9f5cc03d5f29aef69e..fd4c360a6c1725bd33f11ada81cb8a381867ee78 100644 GIT binary patch delta 138 zcmZp8z}WDBae_3Xz(g5mMuCk9OZ@p*d8RP%e&tu^b>x}CcYU*%oSUDI(H5nWo8A4KvOF&qmGQYG)A*r;a#K^$VT-U%@*T_i0(9+7(#LC1_&&=4w Q$ixD-%x3lY8v=~10E=KGEdT%j delta 77 zcmV-T0J8sp-~oW(0gxL350M;00S~cYq)!Y443q#3^$#ZvK@60$5fFI{vx!_Y0s(H5 jy"k/OAEQqvZLTOsLkYeJHL7m1ob10j9payNQNtsICiANzb1qcMK7Lmhndbvbrw3nxFJtfA+KiLGy4fyF8i1my6LA==", "name"=>"Test", "description"=>"Test your butt"} +No template found for TasksController#create, rendering head :no_content +Completed 204 No Content in 59ms (ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 12:53:26 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"k/OAEQqvZLTOsLkYeJHL7m1ob10j9payNQNtsICiANzb1qcMK7Lmhndbvbrw3nxFJtfA+KiLGy4fyF8i1my6LA==", "name"=>"Test", "description"=>"Test your butt"} +No template found for TasksController#create, rendering head :no_content +Completed 204 No Content in 60ms (ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 12:54:41 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"k/OAEQqvZLTOsLkYeJHL7m1ob10j9payNQNtsICiANzb1qcMK7Lmhndbvbrw3nxFJtfA+KiLGy4fyF8i1my6LA==", "name"=>"Test", "description"=>"Test your butt"} +  (0.1ms) begin transaction + SQL (0.5ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Test"], ["description", "Test your butt"], ["created_at", 2017-03-22 19:54:41 UTC], ["updated_at", 2017-03-22 19:54:41 UTC]] +  (1.3ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 18ms (ActiveRecord: 2.8ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 12:54:41 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.6ms) +Completed 200 OK in 20ms (Views: 18.0ms | ActiveRecord: 0.2ms) + + From 94dfd26f3d89269514a5ac8ca4da3c6179f8bf9c Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 13:06:59 -0700 Subject: [PATCH 17/44] created and ran migration to change column data type to text for description in tasks --- db/development.sqlite3 | Bin 28672 -> 28672 bytes .../20170322200330_change_column_data_type.rb | 5 ++++ db/schema.rb | 4 +-- log/development.log | 24 ++++++++++++++++++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20170322200330_change_column_data_type.rb diff --git a/db/development.sqlite3 b/db/development.sqlite3 index fd4c360a6c1725bd33f11ada81cb8a381867ee78..2dc001c48b712f74e62b07bd957811adf622ad99 100644 GIT binary patch delta 226 zcmZp8z}WDBae}m#ms+- zf&U%<9sW~5-Fx_j1elpLjSLLU4UCP9j0_BnjSVK>k=Fn!I{{L5oBsq**)IOcxAnO> zpz_R{Z|kcmfLzMTvx$M2>}M(zXiO!P7G{33=I6%{9E}H`9AS{;MpuF z(8LaYnpWZU?|azNL~$%ZmGItFLt7ZhaXr8|{YDkSFQD3oNRDx^=|6cac(CGN(e G1OWgUcRj@b diff --git a/db/migrate/20170322200330_change_column_data_type.rb b/db/migrate/20170322200330_change_column_data_type.rb new file mode 100644 index 000000000..3fbcc89de --- /dev/null +++ b/db/migrate/20170322200330_change_column_data_type.rb @@ -0,0 +1,5 @@ +class ChangeColumnDataType < ActiveRecord::Migration[5.0] + def change + change_column :tasks, :description, :text + end +end diff --git a/db/schema.rb b/db/schema.rb index 2e4d81caa..147d5c4e0 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,11 +10,11 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170321212854) do +ActiveRecord::Schema.define(version: 20170322200330) do create_table "tasks", force: :cascade do |t| t.string "name" - t.string "description" + t.text "description" t.date "completion_date" t.datetime "created_at", null: false t.datetime "updated_at", null: false diff --git a/log/development.log b/log/development.log index 7bf3bf1e8..c14e78887 100644 --- a/log/development.log +++ b/log/development.log @@ -1217,3 +1217,27 @@ Processing by TasksController#index as HTML Completed 200 OK in 20ms (Views: 18.0ms | ActiveRecord: 0.2ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 13:00:50 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (0.5ms) +Completed 200 OK in 27ms (Views: 25.2ms | ActiveRecord: 0.0ms) + + + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" +Migrating to ChangeColumnDataType (20170322200330) +  (0.1ms) begin transaction +  (0.3ms) CREATE TEMPORARY TABLE "atasks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "description" varchar, "completion_date" date, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "image" varchar) +  (0.1ms) INSERT INTO "atasks" ("id","name","description","completion_date","created_at","updated_at","image") + SELECT "id","name","description","completion_date","created_at","updated_at","image" FROM "tasks" +  (0.3ms) DROP TABLE "tasks" +  (0.1ms) CREATE TABLE "tasks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "description" text, "completion_date" date, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "image" varchar) +  (0.1ms) INSERT INTO "tasks" ("id","name","description","completion_date","created_at","updated_at","image") + SELECT "id","name","description","completion_date","created_at","updated_at","image" FROM "atasks" +  (0.1ms) DROP TABLE "atasks" + SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20170322200330"]] +  (1.0ms) commit transaction + ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", :environment], ["LIMIT", 1]] +  (0.1ms) begin transaction +  (0.1ms) commit transaction + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" From 3c5998eb9c4500774277b75f18b1cd495a2fba53 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 14:52:34 -0700 Subject: [PATCH 18/44] used form_for to create erb form --- app/controllers/tasks_controller.rb | 1 + app/views/tasks/new.html.erb | 16 +-- db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 189 ++++++++++++++++++++++++++++ 4 files changed, 198 insertions(+), 8 deletions(-) diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index d00ed607d..7eac042b6 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -9,6 +9,7 @@ def show end def new + @task = Task.new end def create diff --git a/app/views/tasks/new.html.erb b/app/views/tasks/new.html.erb index d84d547e7..ef9ff6235 100644 --- a/app/views/tasks/new.html.erb +++ b/app/views/tasks/new.html.erb @@ -1,13 +1,13 @@

    Create New Task

    -
    - + <%= form_for @task do |f| %> - - + <%= f.label :name %> + <%= f.text_field :name %> - - + <%= f.label :description %> + <%= f.text_field :description, size: "60x24" %> - -
    + <%= f.submit "Add Task" %> + + <% end %> diff --git a/db/development.sqlite3 b/db/development.sqlite3 index 2dc001c48b712f74e62b07bd957811adf622ad99..4316b99659ab706b5454f49838518febbfe972ee 100644 GIT binary patch delta 176 zcmZp8z}WDBae_3X&_o$$Mxl)fOZ)}cc&r%sZTOOT*Yh&*Y~r!nEGVGHQ(wl$!604C z;ONK@l3HAnnV0U84e7"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 32ms (Views: 25.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 13:08:17 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 32ms (Views: 27.3ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 13:08:21 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (0.4ms) +Completed 200 OK in 19ms (Views: 17.1ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 13:08:51 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"wKD4oCG8KeVCa28gsduR7DgbaBeGXHne1xYLNzJMQnOIhd+9AKGr1/uAa4I5lCZHc6THsg0h9EL93TmlZIL4gw==", "name"=>"Testing", "description"=>"Doing a test after changing data type in the Table."} +  (0.1ms) begin transaction + SQL (0.3ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Testing"], ["description", "Doing a test after changing data type in the Table."], ["created_at", 2017-03-22 20:08:51 UTC], ["updated_at", 2017-03-22 20:08:51 UTC]] +  (1.2ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 4ms (ActiveRecord: 1.6ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 13:08:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 29ms (Views: 24.9ms | ActiveRecord: 0.3ms) + + + Task Load (1.5ms) SELECT "tasks".* FROM "tasks" +Started GET "/new" for ::1 at 2017-03-22 14:47:54 -0700 + ActiveRecord::SchemaMigration Load (0.6ms) SELECT "schema_migrations".* FROM "schema_migrations" + +ActionController::RoutingError (No route matches [GET] "/new"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [4 times] (1.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (8.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (9.3ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (108.2ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 14:48:18 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (0.9ms) +Completed 500 Internal Server Error in 20ms (ActiveRecord: 0.6ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/new.html.erb:9: syntax error, unexpected tIDENTIFIER, expecting ')' +f.text_field :description size: "30x12" );@output_buffer.saf + ^): + +app/views/tasks/new.html.erb:9: syntax error, unexpected tIDENTIFIER, expecting ')' +Started GET "/tasks/new" for ::1 at 2017-03-22 14:48:18 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (0.6ms) +Completed 500 Internal Server Error in 8ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/new.html.erb:9: syntax error, unexpected tIDENTIFIER, expecting ')' +f.text_field :description size: "30x12" );@output_buffer.saf + ^): + +app/views/tasks/new.html.erb:9: syntax error, unexpected tIDENTIFIER, expecting ')' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (9.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (73.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.6ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (149.7ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 14:48:48 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.5ms) +Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 1:

    Create New Task

    + 2: + 3: <%= form_for @books do |f| %> + 4: + 5: <%= f.label :name %> + 6: <%= f.text_field :name %> + +app/views/tasks/new.html.erb:3:in `_app_views_tasks_new_html_erb__2938833511786331519_70307979955880' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (64.6ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 14:49:10 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (11.0ms) +Completed 200 OK in 221ms (Views: 218.9ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 14:49:24 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (1.7ms) +Completed 200 OK in 21ms (Views: 18.0ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 14:49:29 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (1.4ms) +Completed 200 OK in 20ms (Views: 18.2ms | ActiveRecord: 0.0ms) + + + Task Load (2.1ms) SELECT "tasks".* FROM "tasks" + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Task Load (1.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Started GET "/tasks/new" for ::1 at 2017-03-22 14:51:55 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.0ms) +Completed 200 OK in 40ms (Views: 38.6ms | ActiveRecord: 0.0ms) + + From 092b17317a0bce3e400b0fc3dc8db3a9b5a3a5a5 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 15:02:05 -0700 Subject: [PATCH 19/44] Added link on index to create new task. Updated controller with private task_params method --- app/controllers/tasks_controller.rb | 14 +- app/views/tasks/index.html.erb | 2 + db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 256 ++++++++++++++++++++++++++++ 4 files changed, 268 insertions(+), 4 deletions(-) diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 7eac042b6..448b5ebcb 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -13,11 +13,17 @@ def new end def create - task = Task.new - task.name = params[:name] - task.description = params[:description] - if task.save + task = Task.create task_params + + unless task.id == nil redirect_to tasks_path end end + + private + + def task_params + params.require(:task).permit(:name, :description) + end + end diff --git a/app/views/tasks/index.html.erb b/app/views/tasks/index.html.erb index f2d09e320..40b4a7f45 100644 --- a/app/views/tasks/index.html.erb +++ b/app/views/tasks/index.html.erb @@ -8,3 +8,5 @@ <% end %>
+ +<%= link_to "Create New Task", "tasks/new" %> diff --git a/db/development.sqlite3 b/db/development.sqlite3 index 4316b99659ab706b5454f49838518febbfe972ee..b82f4805c86e789f106f8395b9282d3da9eccc6f 100644 GIT binary patch delta 343 zcmZp8z}WDBae_3X=tLQ3M$wH4OZ>$+xuqHSZTOOT*Yh&*Y~r!vKFVFdExoakk-I*a zlY>FrkipTBA*3j=I3px6J5?dSv_zpKBUPaUBw}P>Xs&ButZQVXU}R`zYH4L;tY=|l zX<%xCTPB!;SVQY!rWzXPnVOm#o0(#m3YRHn=U|Y{207I)wOk=2u{hgPJy)S5wYVfR zFCFOM%wmYk^A(CyQx!7P6!L(|((;RPixtZAi?WLq(Tp~>GB#DzGqo@?H8#T{1(n%s K6?0UWkrM!a09M@q delta 48 zcmZp8z}WDBae_3X&_o$$Mxl)fOZ)}cc&r%sZTOOT*Yh&*Y~r!nEGVGHv)L-"✓", "authenticity_token"=>"Pu/yq0e4orWJhki5L0VSoaCVD/JvU2a0aANEtp9F7nl2ytW2ZqUghzBtTBunCuUK6yqgV+Qu6yhCyHYkyYtUiQ==", "task"=>{"name"=>"New Task", "description"=>"I'm testing this out to see if new forms works!"}, "commit"=>"Add Task"} +  (0.0ms) begin transaction + SQL (0.4ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "New Task"], ["description", "I'm testing this out to see if new forms works!"], ["created_at", 2017-03-22 21:53:35 UTC], ["updated_at", 2017-03-22 21:53:35 UTC]] +  (1.0ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 18ms (ActiveRecord: 2.6ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 14:53:35 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 20ms (Views: 17.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/7" for ::1 at 2017-03-22 14:53:37 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"7"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.2ms) +Completed 200 OK in 29ms (Views: 22.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/6" for ::1 at 2017-03-22 14:53:41 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"6"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 6], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.6ms) +Completed 200 OK in 29ms (Views: 23.8ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 14:55:56 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.2ms) +Completed 200 OK in 35ms (Views: 27.0ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 14:56:00 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (1.8ms) +Completed 200 OK in 19ms (Views: 16.4ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 14:56:21 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"mV2OWke/xJlxfuejgi8IKAXqvg6L6sz3iwN/dAaY5BDReKlHZqJGq8iV4wEKYL+DTlURqwCXQWuhyE3mUFZe4A==", "task"=>{"name"=>"Take out Trash", "description"=>"Collect trash from all trashcans in house, take out side and put large can on curb."}, "commit"=>"Add Task"} +Unpermitted parameter: description +No template found for TasksController#create, rendering head :no_content +Completed 204 No Content in 64ms (ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 14:56:31 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (1.7ms) +Completed 200 OK in 23ms (Views: 21.1ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 14:56:39 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"etpzzX/xRsrk9DmzXr0XhpNwTIAP/+IQqC2tbRtlH7Ay/1TQXuzE+F0fPRHW8qAt2M/jJYSCb4yC5p//TaulQA==", "task"=>{"name"=>"Trash", "description"=>"Take out the trash"}, "commit"=>"Add Task"} +Unpermitted parameter: description +No template found for TasksController#create, rendering head :no_content +Completed 204 No Content in 67ms (ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 14:56:58 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.2ms) +Completed 200 OK in 38ms (Views: 25.7ms | ActiveRecord: 0.7ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 14:57:03 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"9yWOsOvDvTIUo1/G1VheG4nUyRsg19AB+kZ1TVzTgeO/AKmtyt4/AK1IW2RdF+mwwmtmvquqXZ3QjUffCh07Ew==", "task"=>{"name"=>"Trash", "description"=>"Take out the trash"}, "commit"=>"Add Task"} +No template found for TasksController#create, rendering head :no_content +Completed 204 No Content in 65ms (ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 14:57:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.6ms) +Completed 200 OK in 21ms (Views: 18.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 14:57:19 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (6.6ms) +Completed 200 OK in 25ms (Views: 22.3ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 14:58:14 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"zZUXzldpuZo1x+Uo8DsG+WH1ZHzREsskXMgPIev2mq+FsDDTdnQ7qIws4Yp4dLFSKkrL2VpvRrh2Az2zvTggXw==", "task"=>{"name"=>"Trash", "description"=>"Take out the trash"}, "commit"=>"Add Task"} +No template found for TasksController#create, rendering head :no_content +Completed 204 No Content in 69ms (ActiveRecord: 0.8ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 14:58:30 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.2ms) +Completed 200 OK in 31ms (Views: 17.7ms | ActiveRecord: 0.6ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 14:58:35 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"+AFHbVuH7XuWPNZP6mZ3Wg3nb6BL9arpQgX/Sqn4U/mwJGBweppvSS/X0u1iKcDxRljABcCIJ3Vozs3Y/zbpCQ==", "task"=>{"name"=>"Trash", "description"=>"Take out the trash"}, "commit"=>"Add Task"} +Redirected to http://localhost:3000/tasks +Completed 302 Found in 1ms (ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 14:58:35 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.3ms) +Completed 200 OK in 21ms (Views: 19.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 14:59:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (8.9ms) +Completed 200 OK in 45ms (Views: 34.2ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 14:59:05 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (1.9ms) +Completed 200 OK in 21ms (Views: 18.2ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 14:59:10 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"oaWv+mEeIAPMpq+Dm/oce/w9chIHxC0mOnRemS/5FmjpgIjnQAOiMXVNqyETtavQt4Ldt4y5oLoQv2wLeTesmA==", "task"=>{"name"=>"Trash", "description"=>"Take out the trash"}, "commit"=>"Add Task"} +  (0.1ms) begin transaction + SQL (0.4ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Trash"], ["description", "Take out the trash"], ["created_at", 2017-03-22 21:59:10 UTC], ["updated_at", 2017-03-22 21:59:10 UTC]] +  (0.7ms) commit transaction +Completed 500 Internal Server Error in 123ms (ActiveRecord: 1.2ms) + + + +NameError (undefined local variable or method `task' for #): + +app/controllers/tasks_controller.rb:18:in `create' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (3.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.4ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (120.4ms) +Started POST "/tasks" for ::1 at 2017-03-22 14:59:23 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"oaWv+mEeIAPMpq+Dm/oce/w9chIHxC0mOnRemS/5FmjpgIjnQAOiMXVNqyETtavQt4Ldt4y5oLoQv2wLeTesmA==", "task"=>{"name"=>"Trash", "description"=>"Take out the trash"}, "commit"=>"Add Task"} +  (0.1ms) begin transaction + SQL (0.4ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Trash"], ["description", "Take out the trash"], ["created_at", 2017-03-22 21:59:23 UTC], ["updated_at", 2017-03-22 21:59:23 UTC]] +  (1.6ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 26ms (ActiveRecord: 3.5ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 14:59:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 33ms (Views: 31.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/8" for ::1 at 2017-03-22 14:59:38 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"8"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 8], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.5ms) +Completed 200 OK in 35ms (Views: 29.8ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 15:01:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.0ms) +Completed 200 OK in 28ms (Views: 25.9ms | ActiveRecord: 0.5ms) + + +Started GET "/new" for ::1 at 2017-03-22 15:01:15 -0700 + +ActionController::RoutingError (No route matches [GET] "/new"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.3ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [4 times] (1.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (75.9ms) +Started GET "/tasks" for ::1 at 2017-03-22 15:01:26 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 27ms (Views: 23.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:01:28 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (4.3ms) +Completed 200 OK in 37ms (Views: 32.9ms | ActiveRecord: 0.0ms) + + From 667c775db3e0dcfbb46358f5be28023901609a4e Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 15:07:39 -0700 Subject: [PATCH 20/44] Changed form type from text_field to text_area for description. --- app/views/tasks/new.html.erb | 2 +- log/development.log | 114 +++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+), 1 deletion(-) diff --git a/app/views/tasks/new.html.erb b/app/views/tasks/new.html.erb index ef9ff6235..216667cf8 100644 --- a/app/views/tasks/new.html.erb +++ b/app/views/tasks/new.html.erb @@ -6,7 +6,7 @@ <%= f.text_field :name %> <%= f.label :description %> - <%= f.text_field :description, size: "60x24" %> + <%= f.text_area :description, size: "60x12" %> <%= f.submit "Add Task" %> diff --git a/log/development.log b/log/development.log index aed1ed4cc..981cac34a 100644 --- a/log/development.log +++ b/log/development.log @@ -1686,3 +1686,117 @@ Processing by TasksController#new as HTML Completed 200 OK in 37ms (Views: 32.9ms | ActiveRecord: 0.0ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 15:02:18 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.3ms) +Completed 200 OK in 40ms (Views: 36.2ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:02:38 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.5ms) +Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (wrong number of arguments (given 0, expected 1..2)): + 6: <%= f.text_field :name %> + 7: + 8: <%= f.label :description %> + 9: <%= f.text_field %> + 10: + 11: <%= f.submit "Add Task" %> + 12: + +app/views/tasks/new.html.erb:9:in `block in _app_views_tasks_new_html_erb__2938833511786331519_70307983845300' +app/views/tasks/new.html.erb:3:in `_app_views_tasks_new_html_erb__2938833511786331519_70307983845300' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (67.8ms) +Started GET "/tasks" for ::1 at 2017-03-22 15:02:59 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 20ms (Views: 17.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:03:00 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (14.3ms) +Completed 500 Internal Server Error in 27ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (undefined method `:description' for # +Did you mean? description + description= + description?): + 6: <%= f.text_field :name %> + 7: + 8: <%= f.label :description %> + 9: <%= f.text_field ":description", size: "60x24" %> + 10: + 11: <%= f.submit "Add Task" %> + 12: + +app/views/tasks/new.html.erb:9:in `block in _app_views_tasks_new_html_erb__2938833511786331519_70308001660320' +app/views/tasks/new.html.erb:3:in `_app_views_tasks_new_html_erb__2938833511786331519_70308001660320' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (70.5ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 15:03:14 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (1.7ms) +Completed 200 OK in 27ms (Views: 23.8ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:05:30 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (5.5ms) +Completed 200 OK in 28ms (Views: 25.4ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:05:38 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (1.7ms) +Completed 200 OK in 22ms (Views: 20.1ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:05:57 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (1.6ms) +Completed 200 OK in 22ms (Views: 20.0ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:06:21 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.6ms) +Completed 200 OK in 22ms (Views: 19.6ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:06:34 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.0ms) +Completed 200 OK in 40ms (Views: 36.9ms | ActiveRecord: 0.0ms) + + From 35026c5094a5cd1115fd192a0a4ecc33faf88e0e Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 15:39:12 -0700 Subject: [PATCH 21/44] Add columns of complete_by and status. --- app/assets/stylesheets/tasks.scss | 5 ++ app/controllers/tasks_controller.rb | 2 +- db/development.sqlite3 | Bin 28672 -> 28672 bytes .../20170322223457_add_collumns_to_tasks.rb | 6 ++ db/schema.rb | 4 +- log/development.log | 53 ++++++++++++++++++ 6 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20170322223457_add_collumns_to_tasks.rb diff --git a/app/assets/stylesheets/tasks.scss b/app/assets/stylesheets/tasks.scss index c5e7712d4..550a87155 100644 --- a/app/assets/stylesheets/tasks.scss +++ b/app/assets/stylesheets/tasks.scss @@ -1,3 +1,8 @@ // Place all the styles related to the Tasks controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ + +textarea, label { + box-sizing: border-box; + display: block; +} diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 448b5ebcb..ac37f3afb 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -23,7 +23,7 @@ def create private def task_params - params.require(:task).permit(:name, :description) + params.require(:task).permit(:name, :description, :complete_by, :image, :status) end end diff --git a/db/development.sqlite3 b/db/development.sqlite3 index b82f4805c86e789f106f8395b9282d3da9eccc6f..821cfec07787302d198c585fd4fbc8cf238a167e 100644 GIT binary patch delta 184 zcmZp8z}WDBae}m<7y|4J^;H`GmfO0|3v!G9dr} delta 128 zcmZp8z}WDBae}m1Vq_}}s0;Xk!m&|we% Date: Wed, 22 Mar 2017 15:46:33 -0700 Subject: [PATCH 22/44] updated form to accept complete_by and status --- app/views/tasks/new.html.erb | 6 +++ db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 84 +++++++++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+) diff --git a/app/views/tasks/new.html.erb b/app/views/tasks/new.html.erb index 216667cf8..801965efb 100644 --- a/app/views/tasks/new.html.erb +++ b/app/views/tasks/new.html.erb @@ -8,6 +8,12 @@ <%= f.label :description %> <%= f.text_area :description, size: "60x12" %> + <%= f.label :status %> + <%= f.select :status, ["Haven't Started", "Getting There", "Done!"] %> + + <%= f.label :complete_by %> + <%= f.date_select :complete_by, :start_year => 2017 %> + <%= f.submit "Add Task" %> <% end %> diff --git a/db/development.sqlite3 b/db/development.sqlite3 index 821cfec07787302d198c585fd4fbc8cf238a167e..d5e6b1565e96d7bad71573c57d96ea52dd482ab7 100644 GIT binary patch delta 213 zcmZp8z}WDBae_3X_(U0JM)8daOZ+9cxat}BZTOOT*Yh&*Y~r!vKFVFdEzMQGu`!ve zzEP5kn?bsfmBG=GK~X&kmMfGb7H2DzXO?6r1eYY1lol%_=A|e& z=jRsWq?V*ABvmS;Wv1q&0EJUhQd9Jd3=GY64UBb-j1-KFtV~R;OpNtR%}gy#4YA3{ cB1@S7HMysjfLx#ul95`Jx>-8$+xuqHSZTOOT*Yh&*Y~r!vKFVFdExoakk$bar J^b-+AP5_oH4mtn; diff --git a/log/development.log b/log/development.log index 3a1d3cbc1..dee492297 100644 --- a/log/development.log +++ b/log/development.log @@ -1853,3 +1853,87 @@ Migrating to AddCollumnsToTasks (20170322223457)  (0.1ms) begin transaction  (0.1ms) commit transaction ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" +Started GET "/tasks/new" for ::1 at 2017-03-22 15:39:20 -0700 + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.0ms) +Completed 200 OK in 47ms (Views: 32.6ms | ActiveRecord: 0.6ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:42:03 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.7ms) +Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (wrong number of arguments (given 3, expected 1..2)): + 9: <%= f.text_area :description, size: "60x12" %> + 10: + 11: <%= f.label :status %> + 12: <%= f.select :status ["Haven't Started", "Getting There", "Done!"] %> + 13: + 14: <%= f.submit "Add Task" %> + 15: + +app/views/tasks/new.html.erb:12:in `[]' +app/views/tasks/new.html.erb:12:in `block in _app_views_tasks_new_html_erb__2938833511786331519_70307974364160' +app/views/tasks/new.html.erb:3:in `_app_views_tasks_new_html_erb__2938833511786331519_70307974364160' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (65.7ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 15:42:30 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (16.1ms) +Completed 200 OK in 42ms (Views: 39.8ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:45:03 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (8.8ms) +Completed 200 OK in 28ms (Views: 25.9ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-22 15:45:43 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"5aU21rkoBzDZHxeZPCg5EmTyfDLLRbjt66L5TXjVkT6tgBHLmDWFAmD0Ezu0Z465L03Tl0A4NXHBacvfLhsrzg==", "task"=>{"name"=>"Testing", "description"=>"Testing a new task with Status and Complete by fields added.", "status"=>"Getting There", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"4", "complete_by(3i)"=>"22"}, "commit"=>"Add Task"} +  (0.1ms) begin transaction + SQL (0.5ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at", "complete_by", "status") VALUES (?, ?, ?, ?, ?, ?) [["name", "Testing"], ["description", "Testing a new task with Status and Complete by fields added."], ["created_at", 2017-03-22 22:45:43 UTC], ["updated_at", 2017-03-22 22:45:43 UTC], ["complete_by", Sat, 22 Apr 2017], ["status", "Getting There"]] +  (1.2ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 8ms (ActiveRecord: 1.7ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 15:45:43 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.4ms) +Completed 200 OK in 27ms (Views: 25.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-22 15:45:45 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 30ms (Views: 23.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:45:55 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.3ms) +Completed 200 OK in 33ms (Views: 28.4ms | ActiveRecord: 0.0ms) + + From 0c923b3350b85c62d04b7e4beaf1a7c5293fb81c Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Wed, 22 Mar 2017 17:01:36 -0700 Subject: [PATCH 23/44] messing around with styles --- app/assets/images/to-do.jpg | Bin 0 -> 19230 bytes app/assets/stylesheets/application.css | 4 + app/assets/stylesheets/tasks.scss | 75 +- app/views/tasks/index.html.erb | 18 +- app/views/tasks/new.html.erb | 6 +- app/views/tasks/show.html.erb | 6 +- log/development.log | 1496 ++++++++++++++++++++++++ 7 files changed, 1595 insertions(+), 10 deletions(-) create mode 100644 app/assets/images/to-do.jpg diff --git a/app/assets/images/to-do.jpg b/app/assets/images/to-do.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bde5d6e8e5aa3553d33f6eed19d8fd9e0e34fc5b GIT binary patch literal 19230 zcmb_@2|Sc-+xKPPLe@&QB19-_gsFs(#ug#mw(Lfh>@#;8Q4vCjDNA-L*_X*4#bn=& zUG^E<46}Wg?&s-#zW4p!?|r}bd#~T`8vpCO&hxyEb34xeaU3V=2z44bYM`sH3($bq zIhu0-KwYPOYwQLKfcd+@d_@)I&I1>(>KoD11K>sbSdhjVpgVa+PmmUT0%!$k82|=z zn5Z*MkT&=?IsqJU@bQ5K`Z&3GyZ8hM(w+cV9RdOzoZNmtIyyLcy83}xoDbhJIC?qw zc>aZ84t~GVm>mPXyj%j@eGZes2Y+`T7k~d>4^Ce0zOoK}zba-reE0`ucY=9)2l}`> zIRv=FewAZ#f`LN#{>sVh408(nrvMBt-o61LhqWDX_wow#5Age4hRxmQF3ivS_cOD* zKg`P^z~z@z^j_}%ziOlRcJT%qeF9)S1b)A&V)6zhbZ~V!Os4mN1^fa`hrrk2S7}C= zqlb&rukwtryLa84e&sj<^K*6ZaS#3bi~mUY^_JzI55H=l`$tU-z7D=Feup2T^Zl!f z=zU>-Nk-@Qm#EBsVDEc7{*{Xnd~pA(vk%ij_*Xi!zmuDbbD-C+Pcitrxw!n2j=?{` z-RZ9Z@ec_63o-i#`ucjgyZjmhdT=!VdLQ8C?&EqW2upxlpts}S=`h*DSpoJ$0PHWo zcpq##?3d6CL4NLkbq`~RiJj_q@g4}sI1wmS4fcu)ew|jt} zyN8RYu|uE_?7q7bb@s?@eQj-fV^gTE{tX>)>H@%#>o?qeV6;a8z}qLl&s6WK=xr-& zQKlYnlCl7dzy$zsaPs#xGSf9boX7e)+M@norbGPqwKoKSH32}s>~&*N(ZAFGONh(K z*DnA7XpF(!iq09fGTH^Hs1qAW&L+tt&23H@L=P!Ku z5IcMOID>f(W%hOUc0RWR1b`2Un`7Hq6`C!6yU&{%Z4KDS-R1Z$-gQR=J?2q9Usx2X_DO>;L-l zcdq|CI2_x*a%`LY8Z#RH?|-NLUH0!ZSQY?W+y(pQ<=<(JsQ^&*1OSeY{hcQM763RO z13)GEU)sZeIA7cX0({lw<%5EP|bO!gn!Lz5b)$s0A71J;3%3Gpj-bA(DSeXbayhrH#EP;?FNel zaJcd;MV9`W_aFw}|N8ykerV&sM_PY(SJA^{ZBuhmr$E2^hZtNFhd&GeE5Hfx0w(}r zKn#!qWB~<06}SXk26O-e01B7`R)8Jg1h@g-fFBS9gaZ$NNZ=Xp5=a8l03?tD6ab~b zC!h+b2bzF(;2ZD*7zDPMCK`4c9-0$0A~a`cWM~vNgEYuYT@V%kdDCfaYbgS6AMtF*gx03910 zKiw%hS-OjK+H_DlYr4C1esplU7`kM-EV@#YWOZ3<2 zZ_zu^-=l}qKc`Ql&!?}XZ>8_2pP|RnQyAD81Q}!))EV>{ZZo(t1TjQ1Bs08cs9UVF@v#;@e5-w;~e8I6BE-3CK)D8CMc5wQvg#W zQz}z26N;&iX@QBr%*HIjtiY_xY|ZS${E#`BxsbV$xsQ2?naFaK*W|Y_Hiquzh8l zVcS2#eMI_*_K`bB0*}NV$vg7p$mo%6c6N3N_RH+n>;det>;>#C>{ILn4jv9U4t)-1 z4g^O!Mq zP%dw-=Ujzcom@Y;nYbmmb-10mA9H7Ow{Xw#(D8`zX!AJnJmSgWY2#VoW#pCQ)#vr# zea2hD+rx|HM~LV~&>{A3T0=LiB{r3C|PpC#p_N3eXEk3z!H531kYi39OyuJ$dP*)5(~V zpH7Ym(h5oonhJ&qW($57+!YcQ(i8F(N)>7mS`+3MzAWq^{7Se{cv*x;L`%e7RhP=4EwS2sMhdkxH@_DcGIp@bOa9=RE@bE(Ig)IeX1t*1cg#kr&MO{UN zVznYpNk+*d^Y<|Wxno|g(Q{nU`uaM8%onA1G1>7e;eb6QJO>kqBBTGNnI5C=#W zWcISyW#`N9FE3p=d&T2Q@s*9M=db!*t+$>U|>065u)dJKlYW6d)@( z42%+uCT^a&>2tFR3PAOtiO@-7N#lFQbta4^#wO_|i>4P$!%aKPc+Bk03eEP+ubRi1 zkKdBI6?m)Jg45!TMS%t0@|tCW<@9a&+Yz_FSqWIVTUA>#SzB1Yx8AkUu}QL7xTAb0 z^3IU0q;0Tmr=5VEmtBKBr@e!H`5z2_SpHG?2gw2Ikma!JsPFj35$mMwl;X7NeA)Sx z^RkPkOM=VNUCp}*cYnHSx+c0VyFuKN-PYW--P7E09@jmP9(YfvXPzh3%hIdNo7wvh z?;0O&A5WiFm@q6D*6S&KZ4~morO| zLda*xgSYN)N8ahZtIU$fO3r4?zMs9AW0BL5doj1*y}gl+MS(@j#dnH-lw2#RE|o2PSH@rV>;v#2@WaZ-KRyn9GW^tBezCmt^O?_YDtIbl zDrqW1DzQ~=Rnyg0)x9+aHO;k`YAfpG>hkJO)u%V`HN-WtHa>2oqC!!-Uwpr;HMus; zHQP6jx7=!oXgEL{ z0sw6Y07#(W{Ec7J9Q}olf$5nv+yEW;m*$Xh&~rr_MhLnaQ^&Tn!n|FOZ&Uqn%~m>#ynXZ zzso+z;{1)HvyT3wEI7zH|EvcTFo*W|X=Vg?vmfHaE>=IU zq<%p`RN;cUl7hOD(ywm+w`l;tY6)f!2Y^e;hx6(b4ZA3oHMz<0k~pNJvVZl~z(#QN5_9u6<2MSMR#MftmR&3ro-j zaB_CJ>+0t20lF&g2L*?OK6?BlGU{n`OhV$Tq~w&>scBi+Il1ri@(T(-m4B|Ntg5c5 zZEk68Yw!5l+11xSFgP?kGCDRhJ2$_uxb$;*1-G@mv%7~U>>nJq3!D>wHS2fF{!P2M zz;@Bn)6>y29kz>xHVC}wxab*9U0~$CV#4HbkLR?)17_Z<@$Wu1v4|;}V)-2XdRh6! zm1fT14x9F?W&gE?J^XLA?03WdZr2!agpLLrJUT7_0+2~rF;c+))ctlx$v9L1Ab8HL zp=agelI=u@(9!jPRb@pKUX`>#1r8WOp0t;FxKWeAcWbXk9;&Vs2zOCyAzfl23HStC+)O z>L(@9B$$=8P<{8D9x7u#A&3gx-XsNhVl?NYsldBoe)(yYZy&IG?IjshAW1NM7?Fdi z%dQ=MsUv@&u0;iEZ0~2lm-D_N{pZUBknN!(&mq+TSbNl%NKJ=T)i}m?;&Mb4OIb}4no_WunPIlJ z@&~zPV&_s$*b7jA`^!`yVjy(h9(O*$Ewjd!>wN_lo}ol>_FpSG8wl09hJkWzewk^S z*_Zr&OE*~At>m~WYNGgc6%`P=eGMvC+?=Zjmo*VK zdO-@TVJs-$fJ_jRI(6nt8mwaih@hy`d^w!zxndQzRvKTY%rTN!OFhs0yphUlU^gOA zcK3Mm7gZ6H4fZhs`dqVVpVg$zE^SuWAmEU$m{}6I$lfFHTQNV-qnF9gvtnd+T5#w8 z=k!9>hkBhd_eOrKR?)1Gql0Je@=)15e@Q%-6x|y_+$@46*l>EUsyMiPc1o7q`0${$zO%z#5bsE?R?;n&ifRyGo7s6RQ?f+lZilQ@tVgKg+|;@*!TEpbBOrf%=u zT*ku>DxM6ZtS*ItIceNH4o7k#;H!sMwSVuLTeM0_YZ&6RT!c)he#ExFyy$Caz zl5Ua5WMoQnRl*c3Y+o3Hr;y!7-BgA?ZjKULDe45o3}!tlh^Hx!bftV7_1NRS@$(0i z30uhKbIYMjVFGf7lW$bE{aNvdolGE`ig+A_#-71UrtC4{E&SV`XkV-6kRVOy6;%DG ztDrQ}uRN5gM5&1 z)&#D*tp%McULV&AK*$-S%AdpFRWt8!BM<~Bjg`n*Du6OP2c-f4W#R5x8fHlkBjkQ1 zI8KDD^mb`Uq+ty0q98H4oolxhPYEd0GRsN-IZr!0rW%5nD45L<#%vCm$$Z8&To~nt zBs@xf*GDcK7rC!4leVw+YB@q7sqg{_Xfo z4e~qXZf}Y0X`)$Oi=_cl>D&9bc*5~NHE?f4B6?oW zzWOIoNG3J;h@oBLbitHNYh^uj0y2Tvu<*^vTzr*oBb?${O494w38?u|Z&lJFu1^Jo z`=Lu>2u#@Oj{uQ43Z$a1&y(m4xfO;W98}goC7h`MEW$xP(KC+y*MrK&uemFL@g1;3zHgxuGUD95b4nDPLu&nW@r$wefMQ!p%r?TXwyPxk9 zky!c7;V1TzU$kd6YXxt;86s%TZ7P!sDaR(R8LXrwTtYDI1yt~Ltkb<+i7wYIA5a$A zo8mkJ!5xsWef6qmD)Zwf&rXsY8y{f@U!4^cITKD%WO?$q#$6;Z$x)GYAOv?*>t!G1 z6rnk+d#?&IT8Z3l(?XCr8cbW-t#>MMb>tTqau=4&F&vJN@3bp;Ki*J$Z-b&fx93{G zxhb5U7fe~40%wB7_#8zwYBM(|G$=YC!cH?eXm7id+)V{EgKb-{_l76UYpM17IF?t` zSES9dtS?Q)v8|1o!pt~1ZaQs164!-R_zm_wn}i`a@1%Nngg?262`>RENBm^iP|EBx zc7yA^n6F4;+?BprHrzk! zn8_u6qd2d2`%a*5f6l&hIK?4p_JiVl8HZ^%@BOTg8rc6`X}=4L@XT{h#9$^mJl%cL z^U^HGo}#9dXtp}mQ*ft6qEH_rt4)7ii72E3S=!qOPTcU;_?)cHF7g;!5t7E9D)^xiiMcsR8 zd}n@J6o%r&OHaKh8Q1LCv&fGpC)+13QGwCb0dH@!Z~KW6&KQEFK?8Al9)i7*G`P;O zSsUk>Nrl9zzgkYa`^ZSAHm;!mP^p*%My5QEpUS+Oy;<@RXNBp0?gk zFu%q6I@oY3+R_eZKkB^YNKA5_Noj^fiwMKdbj+Y>-BJW{Tl6W3zPjH$uTe;75?>kC zY1%Rt4k7tgU^^ncnT;qu*$CBxXUvGkU9wO(KjG{&75I}1(5;1^m|oS$3O{&3%-bwm zqym{}D$t5x2&sOqH~O@oU+csVlmm((oSpo7SDt@rf(kS{;I0mFsvGI_lljraWiKT0 z5{U|ISaw+N2w0A*sHO@{*b~U`rQl(s2-g|ZQzgVc@l%>O6+pPaSqTT!LK<+uWc_%qtreyXsDSj9|D%uZ3B9t5x<@pIm?d*L0awk=<1U`h?Wmh57dg-B*VT5TWv)^T}KK8-G+)hPb9l zW!n{RRz5COO22%?c;?*VMH~cYN8Pl+a zL#gMcLz3?NQ{WQhnT)K zJ#`A#STn1J>f3mJAG5uA>}%53BYy@7_C4e@*!w_GSBe|lf^&b{S~WPogxqG+;k9(% zJsrT;_fzZquo4Ru_yNn=Vj_J+WC+yMUi}iN%y+gK!G(_b@}spS`LkMFe!VQt(r7Rz zw*S`co$+>&Fp3rA$8bsU$Ihe9f2@x4VY!@0;+)NO5KaOWu*3emo>fDTK$2nZFx8dHJs0gtp@Of%$3ZBgShw*_UxaaYhd0om#-H_8wKTer0Dg-pK|IT{$p z9^BK?l(KhEyzI<8#lXI;Zt1fg*!OY0GW+}?8}fm9sQOI(?$-2#84TFC8q27>ZpC0T zyjpDX%FvR@Lrn{-oWykz^*fss^$pUQ;FN=~925?J?Cb8roi-qwI9T3M+Vgurvj?C9;?B0mURx4A>1Fm5d_%XYr zEm_}z)|;*=Ph0)b6B^r1B5WikET+ZJ-HsXC9ygP&Zx60lr$Ph0=q53M-S4m8WtMTiQ*z3!4*1t;gY)wnLQ zIta9%A5Z}ti@p45b%aoaJ@K-Y9VA+5pdLDa~gYAdPM%4evU4{SOKcEuZZDS5jFq zz`wr}Kfa~kRqF5j$vJoB%kzZb-BML+T%V$X^`yGLE0y_EJj&%lge^nqY761`;_ zrFiKy+^k2dA_Y;roaU0JWtqE}XK6`Ogn)eRc9H!xDxheYV80S{kTL!( zEJ*Vk6$qJXxT9sFM$(&FuoH4zCGIYKjYAAKUa+=_KJ{Z=tB(q7PnlK7wC?~=VFn03xYB!3uFCHmL~2W7)X_7|9tp2i7)vU7x**Tns}@i1)OVk2c%*7I8W{nY$BHgWrlWm}dD9nEoLo2?X@;r^MW^|QI2 zY4@{v)*ji_RE#PhhPx0V#AW+;!u&Yb$Z*%0fFY7t*)m+b54k`zdQ9wv5Mp8imxm_i zo9?EnsmJwyG(t4`$g2S4vV?P#7=(*2=^sV`nDxsbnh_@*josry^ zKbRF6R;4S6y4+?879>xfe1maN&NR-3XX* ztznpq%r%Ts&m@D-V1|KI4Xr$!*H&W#o;A zBXP?M2x0X8y8T-O4TX+ya+;~B&YmUMVElVsL|oA-k0eNgC?KEyNN&wF<5K&+)6j6d zcj0L`ErD~!9;8gPYvE^R2;NHr8C<&!PIo&{H54iU`k@T)oM-v-CY}ko*xGurY1H06EL-%pWfEigF9Ibv8ZJ5!Q{=nobz5^4$>hAgkrw-6ui$lRWo@Eodrj#^nnBsAuL zn~JL`uJoNmZmG>3>);5jS;$wsJV+QV#pdKA)5;!Hu&ixx>#sQ?yFb-X4m1Oc&**SC zEm46=DYEP6wfPcLSo!<0+A1C$A)616!o#F8#r4HY5k;AsLtJL-aXO~^kmV9S`1i$w z@0@EApk>|{xA<>-G?$F&e3@roE@{$`JnGA}y}h=+FLTS|E;-ic*%Qig-P;W#ly$T3 zk!SD_^|55(T>HnHUtEHVz4oQFU+=oR#xOtY`WbU6(JrJc{6?=*oPx}KRlKy;yxsy8 zXsoqFhc3MUEpX&|ke?nC2?vdri3<_;$D>&HK8#+2EG!?`L1&r?IRAaIK8-6lN&7*3 zjwQsglCqAHs9&^+O2wCxcKNR;aiOhu&zk0O{z;aX@A^=E(XTH`>a&TCThMQ3BA*c7 zYi<*h-YaiSuFPAq;Ev7OKhok0zl3b1C=H4Af1ckLeZmtyEKmMwMwp5om?wO{aIrAp z6k4&i?Ua1oqOsl(cv=Jki(_4dU!-*PHu8sG88X4(SsdoO1E|1W2ZDmO8>a$nEgdP$ ziB|A#nRO_eV=nj>L&6U=oRQoq|o5y%qTRC4f_Z$ zL{zQbbI6P^A!-Kp6v?)0OB7OWke`R{Q2~F{eA)ZYMq%1G)hDun-AtArhLyq|V;C0R zET4l}-OLcY()6_1#i|Z3>E5vq7we=jkaTc}R_GJ62?G90=;p(EXkM*O;NCaM$T84c zPz`R#bIT;Y_0~7{x&`Bh>icJ-o`>5^$3^KE2W!tveZ)zcZtrP6dD17=jKmx+=r3HW zh=;Ul|%6$k;0ASCpcXz*VjUPQk($k%ZAfD*>gvJTJj4l5>?(_N3NQAAuQ|PX2kUB zV5(>vT}~jqB7%$li_D0RT#HCMWyC+(vJG}pr9xsB8jdz65Z zugZp=4+MW034&}ZLb%Z=8IQpAdKTGPO~5K@5}2rf!)glGEA2HA*))P@B(mWN^6cJ` zDx2(5_{vJXt05r@9^am_EJy{`^S^2TbznO$-t0UP>+OL2i$4SbqGbX`CEX>JhAdp2(DKcCr1Y;HTG;iJmY)m1Tj` zh@xwyhHV1Mkqz(A4q-?9ba6v%t(&)lj`8(7_2gOP2%(>nOlD*an``Iyx{oB>-Xynn zlDlRkk>tCZ(`EI6VPW0|eb;^7y*M-j?dWFhpICbjrz$6QG7(wqZ0|5_AsrshLj02p zwjZFP?j7{no+QbmcrI>jTy&Hwg%*9^pp3jl*n!4f#0(+WM28nJ(UAyVk)o*=9uO4h zMh$u?eN)ujoouMrCS+h`zA96JXG6(t>pO1nK}mO!$E7hBLk8i?%L_FUszR5HpP*eb zH`okalNWE#M8mfgEng9$W`|PpJ|`boKO<(gMxcA@d8}|2Lw5;S{~_YA3;pxzMHF3?`5<~d%Y5jXur%e?ePjV4O{{8`Td^H*AQ zJ8$G@Bl!hiIs5_gLhaAL8Daj4!S_RdC^OvH%zz5ZU_ z0}*1_t%{(^bOhGsH0aXD;}56pG%BW1iJV{hSyRS_@D72aGr+cgNMCm_+T%Bq#H&bl zqQDI-vl@4tpgpN2uP~>f#clT3y~{M3=rAiHL^#>3O_7c}MzCqwLin2uo_Ye>=~1CG zHha$rym93e{=A2vapstW>sV`>u^*M6RYr}LgkQ*q&eb6@BUIaJ^TzI`ldDZsv=tCv zREH-Euz54)*G=F8B*+WMnq4Jmyqz^Iu!iq&yg^;)a4HD1zEcR<+j-tCKNr=ses`|3 zAAXj=I*X|JWaPmMs+h*9Mt(A?o{4?v#q?%OnoG|+c%nWzHGDa6$+|gRwfQHqsR2*! zB1*O+%Hx`lCkYmFHwMBPX4Zu!Awl_W_w`)^y+E5qFX}GXKO*yGZDl-$vzW*B$2Hus zlY!5kt*d-9N$W7_w+jlBAtU|6A^sF55?`!?Y51FRE!XFYM{WtKerj#jC?}d|wNinH zL7wVo%33*}TC;bgFg=y`dRJW$MBKg_x1ELf8F-L(T;=lDHuyO!3L3?y6vsl4pF@24 zmZ5#8zjWG2x9uF}Zr*zou6Y?WlM@kmFv^FQS>}#NOyJL`I(EuR$c+J0Coo6KUo=LUJPL1X=VGr@OJ&<$o2YF%~JX1r)Z)TU#lv=@ttv0 zDt&(3Nl;5lTYH?=feBuaOn#cq#X~qdxKx!1`9PVNNIpwtDMKw1`#`lZ$x5 zj~U5_3-iUpA5tm1p(k6D=*DxQ<*Iv8G~_q?`}vd}(6w3@`9PYf%0TmVn05k@e=IaR zH-OzI>FRB1-M+BL0=eBN+&*%1sMtD3feMuD%VZ===Y#zpLU>;K!fA0^>*zOJCSFp! z2gh|LZXxucjcrBSmHdhE&aH-k`=L7uq(oBEjH5#64+6BiJeHwjM)Saq#CXSMNV$2f zbdZ$V9}aE&SXx~4HJ~`$DQB7FD&)Hx6)-qxYqef{smL;S?MIJ=m8Xi8=iS-Kp^v#S zZ+~>uR)=;ZTaQ%7l;>70ex^faP?FMRHcKDgmXWrRq%1JHUi6xofZyD)`1m0a;%6X5 zcW@>v#@&T3L1sit<0kC^D>TK&zs)ag_<4XWzY5WIP56&xZlUgd%NS5k4U$LPl!Dvd z+@=C|=KSHe1`SzEUF(vtJr1#m+Nin-e7B`dztXc~)dO-f4|oHe9@q)Zaz0n=6dQM| zoIOqjmS*kiA=7-b2eH|Rd`$gtis~`wc-WB7W^UN+@J~kx=z%Q=2R0ai;Mx2-JP`Oo z+q7mI=Cf3d*vl+un>W9>R3d-H?n&H_pEK@#QQ~}03Z&I-F$O;dB6zzo1_nSvOzbba z_dAQU`dLemnZAF;(7q&;KNDq*D?3K{Vb2uK6cph)3l$;2*$w(Mw{F`&_fk<4BghU) zTX@5<^^Dm~k>EWjXE+x@1~FSONHNSXSlIKT5VO3t5YsR#^VX}94`OD|v9oL$1f}33 z=5}~Ek*EVx(o}onxgm-)e3)_!yS*A(^#wuWQ5&GYh~|hcywe@Xil{+Rfy zf}Lbitd~u|7!7C%u9Q+NGe8^1{S$^Vo`>cnvCBY8FZXB|K3ZHT00Sp68hPXUZ7!Z; z9C5QS7L1#nXusEPhVZ(It<{voPC&_V*T|JFw$~D|!Dozc-E5nB(9P`rFQ;qIrEUD+Nw6DfL9~quh;LZ7M!&@1l72O?ZL_M0i2KQ z&O!NC$6DcXxaU&K&dZ+jVbgRVjS< zwe9Im`s~d_y}sG1RIurwf&uMOeCV2-S81`ZVKwOU(~#PA#*XHS$;9mPiS3@# z;?9shpUbzAEjO&!TP%rj$zHxMPbPSqNNUGlbB;;q~3cd*O|)?72gV4 zwaPdutNV4!cFNyZcKq8pO3<=pqO&H zR8ZOcT(%Xg+|7_}V0?1CY_TFSR3ml4^hT)EcC zCMQ%hT{S`?7@ys7#>LjkLbJYHN3v@d#c*(eydHeH?A0w>Q2WE?rZb7}jE! zksW@f@@dCn3l)gHMHEw;J4H8BU4If0h?mU)`%&g&ADrLA(lmUi&vL3#gdE8HCeiT(r zd17ARm~yUeM+=dJ3Nf}wB4@P4=Ijl>?4)1C_ZF!%giVmIzPN3kho&`Z-bOLon0V~XEqP)lP7R~0aR?gzQemO%Z+R>RG>eoQ5}ezMvX>2Ub+$) z%>IMnA2kK)%Vt&Ek&#GNrKR-tM(GdzKJ^XD?^}qgqo|1|kiCec{oy(Exaw?B8$zgQ z8uDkY#JhK$p%kOyA6Z64c8D6%(P4iqYL6E+s2oQyXw(SK+%_F373oImeW;xR-N3e` zh`np2oFzT*b+LJmdzxM@P?r?#bRx#N83$Pp!lles#iC}8lab*f`RTF4?tOc{UFew2Odg4+r8TrHuHH3orFQXS7|iLkyT$cHx4nMYcE*O;=H^H=rTu`2 zZl2=6A|KR?r-?ic*UTmO8`$sP|M2LLIf1m?qF!fa@?@J9!(g~_*@#~L&#{c6@ktv9 zF1tTijR=7|Hwv})JYO*5lJ}G+(UZ=RQ#5F%A<>A6+_*?B(eC_+$c?T=&)eRm^(pl= zMzK#f@f6VXCC;Mmfg!LmmT)jYrzM2-iE?=7h9gmo>Jh6VL{Pi7?-I6gWqY>?Pq2`7 zkb0&P*msQ(O+zXA_go5YhvREKvp1n?JXAottW=AEGH%C(yC3B~vl%m-OyR@%!B>ek zce_ERMXmxTsQjI3{pOT9#ii<-l_KX#G*lD>D-f@V^BIpMP-;}b8+5?vH4p+LaF3d; zz3!`nrVko z=BTNttWM~-T1y#fNY$Fxg7&0?BrGD@zP8ENFm&i53;N|2fwm!ZL}ZGLd~7Y1)j+rT zFeZpp{{DxII2dZC69WUewCd6Zv5zk2rymS_Hg>Zd-Oa}|K&w`76nCq2J+C-<#@b~* z=1KCSw}qXzggkW;-Z{Vh(e09dLPkHi=+h5Ivo_<;xAHrUmCR{k_jYfUtRlV^vvunp z&mk&5`J7gQ$DblbQ;5TIVq90BtK}HoxuuRcaq?Qc?zRE09aQWqr7sZPh*{2Z9rliR zFj!X^9%ro%YeDb@R~g58+kB5@rvhg_Lr$NG@Sm1{WHK^(*{7e5+_gWU3saw35Zkts znp5}9Tg$((4dV!w_AH4l*s?^qX)$b-%wgC=OH*btRBt@c$ma>(v}L|#vLz>zkfDhE zep59w=;A7bt%)~0zvOZ6A9lNS4|ExPe2Ka)a;eO#dV8T3r3}Y;*~X3|M++!Md{yx} zcP&5j$4HeNX`y}2D)p8F(wfQHTW{pXO_{v*B|I^Ie;8MmR&R-&v%+rc-{Th2hT89Y z9>ao4G-;2kbLk?V;IkTC1Ip>T^CLBV1ZYm@#j=yhmvpwZ_pSC13ctO2>6mJND;PCn zms;A2uf6pCSwVc~HOvvzX5L{8RLS!|qGU!^yK{I={3CR_?is!k4LVCeOKNp6FSQrh zwt=khr2_oZ<;q>ib5!8f_ky$0ALsNe53T7JXLpw+Qg^jad>o4(38CELrB9$GR9%92ynfF2i(lmJ}OIJ6{(G@2femSd*fKl zgQ?XP#1Tk2$#ynpUveM=zr4pu1uBqKK(H)H>jWH);77QFK`%Yr$=SQ8!rQ?@z5?IA`H&(H2FMiWEThUaphDSe@yg;vl{{9&N7acm zl%3*gTgXx??8y`(p=i3JSHt_Q)yfYqa(7R6iUnr9MHK@j)0VzxZ^7hvKA$;jjQsp9 zZ!MP!B)q{l$Hh_sc8bDJO3-6vkY`kwYT~Ummo{JyV0<4TfT&DbOYN}lL2+v-Q^2Up z(MBLR0dkTcW(ul%<}v8fm68!yB;EjV;9b4}9x6N&!9~=7k9UTV(?NRoLNO%h<}zPd zOyf0h<1Kpy9&G3<&wGyFmriwgV`IwKSoFFj!FAcy0B3)k(gU6n2oc8%ixR@#M%3Ex zhktmq<}XRcZ6W58*06W916>)qi+d-nyV9rAj!nfPF$E78>l!lDkWNpVW^m^luKSDd zbrM;_Pd}7RwoDC;ZLfi0W$v6$okbOmL|} zM72V1P>Kqi0@-{~h%4zJx`QA;1KP@3f&^EhNR#mKK9ZUv6}Xi9MnnU%iNb`gF_j$O zT}-aj^e`{zjXHPe=a~5I`2gc$v2P{|2894Uog0&d0_?O|DdjHNs(6EUboq^_3}Qx4^d@=!@@e-N?-F3mD}a zmz3Nb6!w^>ZI9W?OT2FMvWy7lHgpIHBr$FeeFfzoGjxo+pRBu z>U;aAziFyZjPtRh6L}jFV384udPLZ(mHszsZ^H_n=$V>W&~vxZ@A+w~>uGSmALZ%~ zRY&+Wp2eZpB(aHYn4@wP>!(2$hBdttzCGezCp?V6_lj&FYV3U+V;PKYXn?U5ABber zoYOZu!H(DAQiNOCq*I51cIMJY#leZU`|CHAA(isso08zDLl>ijjWN93!m`TC2Z)K$8`;TXTLNP-I>n*W2e^k)mzjQ|YDXoCF^P zj`rW%H1)<8KP$2B8-t#?Gl3?5MG*>{8x%o@G&y)_3us0!^ScJ!UsP!}-Lx?c;o8qYYQ9f60dNgW1K9#bb1wQ{S=c zkY+7O+^u$>)O9a=%I%gd%W8tc(;n<^NS-jQs~9apb5?W2KG_Z$YqP0YpYa8n01Wj_1 zdfu77+Ap|HmOPDP{jB-j1Xof*&RFWC$3RFpMEuGI4Zbv`&7RH2YePKv9T*L~h(9aEG#?rw<=%~#;V;WQQfWx1_GmH*8yv8)Y zZa#|@%Gh@}4i9e38fKeA!Eba}&o337m$kUHSmx?2neb>G+>HE0C~|MFD@QmQu2_#X|gfFZmCw`BG~#*aQxxHtL9+ha8l4H$WfBWp^P*8)$9B$C4+lgSNlgb^3R zlBVHL9`*Q+ByHS~>M$B8IH%Bv-sML4c_exk>?brn<9z(VGjxIb^h zL<4mNE1)A7HdAKV|M{fnb;^Qw#}VJWu8IqtKRtisMLp*1@)yMOJx4ZN;NpU>>+5;Q z__wo4W&Qd8eY@LYLNjy#NBd>|;doN-dw9}fDCWGH96U6Vs+QlfNV_GZ<%hxMynINlX-s#{TYJ<^?&&I||t zg8@UKFHO9T)u9yJ6CBQTirL*{BWYaE)^qb5{k+N1;>jHzKm2_lxY)kIoP^hyD-4Jj zV|wYPMH4wCKFJ>1m^zd1J;>3WG^pcEZ_8bJf41syu)b|`oN9Ayl(2{yJI*t2P_Dx_ z5Pa5axN~4jF0PY|LPIyfe;J8L3VEj|KVdz$Q7@h_5z*ED zM%o0a#97xx=<_ASC8rGzZ?xP4DZRgoO%=AWs?hLb|JO&vX#1OE1i4WcDqv=N3mI8b za*z|)5c;}UuT2qkqGJL@v%U8S+ut=>E3o(CWK-qPJ&E~I+X;&gSGBGc;5MzynwpuK z7T=h}v>$EqWUsdoyUcJqD`r*8Z$0uq;z|Fb=@NrGAVGBjH3Ar8{BPeh)Y1P1Jsvlv literal 0 HcmV?d00001 diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 0ebd7fe82..a2ce49bf8 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -13,3 +13,7 @@ *= require_tree . *= require_self */ +/* +html { + font-family: 'Rock Salt', cursive; +}*/ diff --git a/app/assets/stylesheets/tasks.scss b/app/assets/stylesheets/tasks.scss index 550a87155..2b65d8fa0 100644 --- a/app/assets/stylesheets/tasks.scss +++ b/app/assets/stylesheets/tasks.scss @@ -1,8 +1,81 @@ +@import url('https://fonts.googleapis.com/css?family=Raleway'); +@import url('https://fonts.googleapis.com/css?family=Rock+Salt'); + // Place all the styles related to the Tasks controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ -textarea, label { +// Color Pallet +// TEAL/BLUE (RGB) 5, 181, 214 + // light: 148, 230, 245 + // bright: 0, 215, 255 + // LIME 208, 188, 4 + // lightest 214, 203, 107 + // light 215, 198, 45 + // dark 195, 175, 0 + // darker 179, 161, 0 + // GREY 143, 141, 142 + // purply 122, 111, 118 + // darker 111, 109, 111 + // darkest 98, 96, 97 +// + +html { + font-family: 'Raleway', sans-serif; + margin: 10px 50px; +} + +h1, h2, h3, h4, a { + color: rgb(5, 181, 214); + font-family: 'Rock Salt', cursive; +} + +textarea, label, date_select { box-sizing: border-box; display: block; + margin: 10px; +} + +img { + height: 200px; +} + + +// Styling the all task list area + +.main-list li { + list-style: upper-roman; + margin: 2px; +} + +.main-list { + background-color: rgba(214, 203, 107, 1); + width: 500px; + color: white; + font-weight: bold; + padding: 2px; + margin-bottom: 20px; + border-radius: 10px; +} + +.main-list a { + color: grey; +} + +.main-list a:hover { + color: rgb(5, 181, 214); +} + +.main-list h2 { + border-bottom: 1px solid rgb(5, 181, 214); + text-align: center; +} + +// Just home button issues + +a.bottom-button { + background-color: white; + padding-top: 20px; + width: 500px; + text-align: center; } diff --git a/app/views/tasks/index.html.erb b/app/views/tasks/index.html.erb index 40b4a7f45..95f6ec1f0 100644 --- a/app/views/tasks/index.html.erb +++ b/app/views/tasks/index.html.erb @@ -1,12 +1,16 @@

Tasks#index

-

Your Tasks Are

-
    - <% @tasks.each do |task| %> +
    + +

    Get it Done!

    +
      + <% @tasks.each do |task| %>
    • - <%= link_to task.name, task_path(task.id) %>: <%= task.description %> + <%= link_to task.name, task_path(task.id) %> : <%= task.description %>
    • - <% end %> -
    + <% end %> +
+ + -<%= link_to "Create New Task", "tasks/new" %> +<%= link_to "Create New Task", "tasks/new", class: "bottom-button" %> diff --git a/app/views/tasks/new.html.erb b/app/views/tasks/new.html.erb index 801965efb..25bc64a50 100644 --- a/app/views/tasks/new.html.erb +++ b/app/views/tasks/new.html.erb @@ -11,9 +11,13 @@ <%= f.label :status %> <%= f.select :status, ["Haven't Started", "Getting There", "Done!"] %> - <%= f.label :complete_by %> + <%= f.label :complete_by, "Complete Task on date:"%> <%= f.date_select :complete_by, :start_year => 2017 %> <%= f.submit "Add Task" %> <% end %> + +

+ <%= link_to "home", tasks_path %> +

diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index dd45f5aa3..ee8fe63a5 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -6,7 +6,11 @@

- task photo + <% if @result_task.image == nil %> + <%= image_tag("to-do.jpg", alt:"task photo") %> + <% else %> + <%= image_tag(@result_task.image, alt:"task photo") %> + <% end %>

diff --git a/log/development.log b/log/development.log index dee492297..ae4a7a190 100644 --- a/log/development.log +++ b/log/development.log @@ -1937,3 +1937,1499 @@ Processing by TasksController#new as HTML Completed 200 OK in 33ms (Views: 28.4ms | ActiveRecord: 0.0ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 15:46:58 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (4.8ms) +Completed 200 OK in 58ms (Views: 53.5ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:46:58 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.6ms) +Completed 200 OK in 32ms (Views: 30.1ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:46:58 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.7ms) +Completed 200 OK in 23ms (Views: 21.3ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:49:14 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.9ms) +Completed 200 OK in 24ms (Views: 20.9ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:49:22 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.5ms) +Completed 200 OK in 23ms (Views: 20.9ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:49:28 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.3ms) +Completed 200 OK in 27ms (Views: 24.6ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:49:52 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.7ms) +Completed 200 OK in 39ms (Views: 36.7ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:55:26 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.2ms) +Completed 200 OK in 50ms (Views: 47.0ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 15:55:49 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.3ms) +Completed 200 OK in 47ms (Views: 44.9ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 16:00:59 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.0ms) +Completed 500 Internal Server Error in 24ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (Invalid CSS after " font-family": expected ";", was ": 'Raleway', sa..."): + 4: TaskList + 5: <%= csrf_meta_tags %> + 6: + 7: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + 8: <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + 9: + 10: + +app/assets/stylesheets/tasks.scss:16 +app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb___3996109302759108924_70308012758240' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (7.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (72.0ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 16:01:36 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.6ms) +Completed 500 Internal Server Error in 19ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (Invalid CSS after " font-family": expected ";", was ": 'Raleway', sa..."): + 4: TaskList + 5: <%= csrf_meta_tags %> + 6: + 7: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + 8: <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + 9: + 10: + +app/assets/stylesheets/tasks.scss:16 +app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb___3996109302759108924_70308001512060' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (11.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (66.2ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 16:02:44 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.8ms) +Completed 500 Internal Server Error in 19ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (Invalid CSS after " font-family": expected ";", was ": 'Raleway', sa..."): + 4: TaskList + 5: <%= csrf_meta_tags %> + 6: + 7: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + 8: <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + 9: + 10: + +app/assets/stylesheets/tasks.scss:15 +app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb___3996109302759108924_70308012333000' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (6.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (61.1ms) +Started GET "/tasks/new" for ::1 at 2017-03-22 16:03:12 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.9ms) +Completed 200 OK in 55ms (Views: 53.4ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:03:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.0ms) +Completed 200 OK in 21ms (Views: 18.5ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:03:40 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 40ms (Views: 38.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:03:59 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.4ms) +Completed 200 OK in 46ms (Views: 42.7ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-22 16:04:05 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 33ms (Views: 27.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:09:17 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 39ms (Views: 36.0ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 16:09:23 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.9ms) +Completed 200 OK in 31ms (Views: 26.0ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:09:45 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 42ms (Views: 39.5ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:10:25 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 37ms (Views: 34.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:10:42 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 38ms (Views: 35.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:11:05 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 44ms (Views: 41.6ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-22 16:11:50 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 33ms (Views: 22.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-22 16:16:46 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.2ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:9: syntax error, unexpected tIDENTIFIER, expecting ')' +buffer.safe_append=' alt="task photo"> + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:13: syntax error, unexpected tIDENTIFIER, expecting ')' +_buffer.append=( link_to "home", tasks_path );@output_buffer + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:13: unterminated string meets end of file +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:13: syntax error, unexpected end-of-input, expecting ')'): + +app/views/tasks/show.html.erb:9: syntax error, unexpected tIDENTIFIER, expecting ')' +app/views/tasks/show.html.erb:13: syntax error, unexpected tIDENTIFIER, expecting ')' +app/views/tasks/show.html.erb:13: unterminated string meets end of file +app/views/tasks/show.html.erb:13: syntax error, unexpected end-of-input, expecting ')' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (11.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (4.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (71.6ms) +Started GET "/tasks" for ::1 at 2017-03-22 16:19:36 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 117ms (Views: 115.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-22 16:19:38 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.2ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:19: syntax error, unexpected keyword_ensure, expecting keyword_end + ensure + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:21: syntax error, unexpected end-of-input, expecting keyword_end): + +app/views/tasks/show.html.erb:19: syntax error, unexpected keyword_ensure, expecting keyword_end +app/views/tasks/show.html.erb:21: syntax error, unexpected end-of-input, expecting keyword_end + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (60.2ms) +Started GET "/tasks/1" for ::1 at 2017-03-22 16:20:07 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 32ms (Views: 29.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:20:09 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.0ms) +Completed 200 OK in 37ms (Views: 34.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-22 16:20:11 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.7ms) +Completed 200 OK in 27ms (Views: 22.5ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/app/assets/images/to-do.jpg" for ::1 at 2017-03-22 16:20:11 -0700 + +ActionController::RoutingError (No route matches [GET] "/tasks/app/assets/images/to-do.jpg"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.4ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [4 times] (2.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.4ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (76.9ms) +Started GET "/app/assets/images/to-do.jpg" for ::1 at 2017-03-22 16:21:57 -0700 + +ActionController::RoutingError (No route matches [GET] "/app/assets/images/to-do.jpg"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [4 times] (1.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.5ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (78.1ms) +Started GET "/tasks/9" for ::1 at 2017-03-22 16:21:58 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 500 Internal Server Error in 13ms (ActiveRecord: 0.1ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +e_tag "@result_task.image" alt="task photo" );@output_buffer + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' +nd=( image_tag "to-do.jpg" alt="task photo" );@output_buffer + ^): + +app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (59.7ms) +Started GET "/tasks/9" for ::1 at 2017-03-22 16:22:15 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.6ms) +Completed 500 Internal Server Error in 7ms (ActiveRecord: 0.1ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +e_tag "@result_task.image" alt="task photo" );@output_buffer + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' +nd=( image_tag "to-do.jpg" alt="task photo" );@output_buffer + ^): + +app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (59.7ms) +Started PUT "/__web_console/repl_sessions/9d41fb08fe7738b4e716bcbeff28b0c0" for ::1 at 2017-03-22 16:22:31 -0700 +Started PUT "/__web_console/repl_sessions/9d41fb08fe7738b4e716bcbeff28b0c0" for ::1 at 2017-03-22 16:22:32 -0700 +Started PUT "/__web_console/repl_sessions/9d41fb08fe7738b4e716bcbeff28b0c0" for ::1 at 2017-03-22 16:22:41 -0700 +Started PUT "/__web_console/repl_sessions/9d41fb08fe7738b4e716bcbeff28b0c0" for ::1 at 2017-03-22 16:22:48 -0700 +Started PUT "/__web_console/repl_sessions/9d41fb08fe7738b4e716bcbeff28b0c0" for ::1 at 2017-03-22 16:22:53 -0700 + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 6], ["LIMIT", 1]] +Started GET "/tasks/9" for ::1 at 2017-03-22 16:23:30 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.7ms) +Completed 500 Internal Server Error in 9ms (ActiveRecord: 0.1ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +nd=( image_tag "to-do.jpg" alt="task photo" );@output_buffer + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' +e_tag "@result_task.image" alt="task photo" );@output_buffer + ^): + +app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (58.5ms) +Started GET "/tasks/9" for ::1 at 2017-03-22 16:24:00 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.7ms) +Completed 500 Internal Server Error in 6ms (ActiveRecord: 0.1ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +d=( image_tag ("to-do.jpg" alt="task photo") );@output_buffe + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:10: syntax error, unexpected ')', expecting keyword_end +to-do.jpg" alt="task photo") );@output_buffer.safe_append=' + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' +e_tag "@result_task.image" alt="task photo" );@output_buffer + ^): + +app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +app/views/tasks/show.html.erb:10: syntax error, unexpected ')', expecting keyword_end +app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (56.0ms) +Started GET "/tasks/9" for ::1 at 2017-03-22 16:24:09 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 500 Internal Server Error in 9ms (ActiveRecord: 0.1ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +nd=( image_tag("to-do.jpg" alt="task photo") );@output_buffe + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:10: syntax error, unexpected ')', expecting keyword_end +to-do.jpg" alt="task photo") );@output_buffer.safe_append=' + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' +e_tag "@result_task.image" alt="task photo" );@output_buffer + ^): + +app/views/tasks/show.html.erb:10: syntax error, unexpected tIDENTIFIER, expecting ')' +app/views/tasks/show.html.erb:10: syntax error, unexpected ')', expecting keyword_end +app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (58.9ms) +Started GET "/tasks/9" for ::1 at 2017-03-22 16:24:34 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.1ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' +e_tag "@result_task.image" alt="task photo" );@output_buffer + ^): + +app/views/tasks/show.html.erb:12: syntax error, unexpected tIDENTIFIER, expecting ')' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (63.9ms) +Started GET "/tasks/9" for ::1 at 2017-03-22 16:24:48 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (6.0ms) +Completed 500 Internal Server Error in 13ms (ActiveRecord: 0.1ms) + + + +ActionView::Template::Error (undefined method `symbolize_keys' for "task photo":String): + 7: + 8:

+ 9: <% if @result_task.image == nil %> + 10: <%= image_tag "to-do.jpg", alt="task photo" %> + 11: <% else %> + 12: <%= image_tag "@result_task.image", alt="task photo" %> + 13: <% end %> + +app/views/tasks/show.html.erb:10:in `_app_views_tasks_show_html_erb___4527499050659158775_70308011545640' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (64.2ms) +Started GET "/tasks/9" for ::1 at 2017-03-22 16:25:23 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (6.2ms) +Completed 500 Internal Server Error in 15ms (ActiveRecord: 0.1ms) + + + +ActionView::Template::Error (undefined method `symbolize_keys' for "task photo":String): + 7: + 8:

+ 9: <% if @result_task.image == nil %> + 10: <%= image_tag "to-do.jpg", alt="task photo" %> + 11: <% else %> + 12: <%= image_tag @result_task.image, alt="task photo" %> + 13: <% end %> + +app/views/tasks/show.html.erb:10:in `_app_views_tasks_show_html_erb___4527499050659158775_70308001783460' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (60.8ms) +Started GET "/tasks/9" for ::1 at 2017-03-22 16:26:01 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 500 Internal Server Error in 7ms (ActiveRecord: 0.1ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:10: syntax error, unexpected tLABEL +put_buffer.append=( image_tag: "to-do.jpg", alt:"task photo" + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:10: syntax error, unexpected ',', expecting ')' +pend=( image_tag: "to-do.jpg", alt:"task photo" );@output_bu + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:12: syntax error, unexpected tLABEL +put_buffer.append=( image_tag: @result_task.image, alt:"task + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/show.html.erb:12: syntax error, unexpected tLABEL, expecting '=' +_tag: @result_task.image, alt:"task photo" );@output_buffer. + ^): + +app/views/tasks/show.html.erb:10: syntax error, unexpected tLABEL +app/views/tasks/show.html.erb:10: syntax error, unexpected ',', expecting ')' +app/views/tasks/show.html.erb:12: syntax error, unexpected tLABEL +app/views/tasks/show.html.erb:12: syntax error, unexpected tLABEL, expecting '=' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (60.6ms) +Started GET "/tasks/9" for ::1 at 2017-03-22 16:27:59 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (71.0ms) +Completed 200 OK in 96ms (Views: 92.7ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:28:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 28ms (Views: 25.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-22 16:28:03 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 28ms (Views: 24.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/8" for ::1 at 2017-03-22 16:28:06 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"8"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 8], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.9ms) +Completed 200 OK in 33ms (Views: 27.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:28:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 48ms (Views: 46.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/5" for ::1 at 2017-03-22 16:28:44 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"5"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.4ms) +Completed 200 OK in 31ms (Views: 25.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-22 16:28:46 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 29ms (Views: 24.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:28:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 44ms (Views: 42.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-22 16:28:53 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.7ms) +Completed 200 OK in 28ms (Views: 23.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/9" for ::1 at 2017-03-22 16:28:56 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.9ms) +Completed 200 OK in 29ms (Views: 23.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-22 16:29:00 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 30ms (Views: 25.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/6" for ::1 at 2017-03-22 16:29:04 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"6"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 6], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.3ms) +Completed 200 OK in 30ms (Views: 25.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/9" for ::1 at 2017-03-22 16:29:07 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.9ms) +Completed 200 OK in 34ms (Views: 28.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:31:48 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.4ms) +Completed 200 OK in 48ms (Views: 45.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:32:38 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.1ms) +Completed 200 OK in 46ms (Views: 43.6ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:33:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 51ms (Views: 48.4ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-22 16:33:33 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 28ms (Views: 23.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:33:40 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 42ms (Views: 39.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:34:09 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.8ms) +Completed 200 OK in 44ms (Views: 42.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:34:35 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.0ms) +Completed 500 Internal Server Error in 23ms (ActiveRecord: 0.2ms) + + + +ActionView::Template::Error (Invalid CSS after " width": expected ";", was ": 400px;"): + 4: TaskList + 5: <%= csrf_meta_tags %> + 6: + 7: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + 8: <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + 9: + 10: + +app/assets/stylesheets/tasks.scss:51 +app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb___3996109302759108924_70308013267960' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (6.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (65.1ms) +Started GET "/tasks" for ::1 at 2017-03-22 16:34:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.0ms) +Completed 200 OK in 47ms (Views: 45.1ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:35:06 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 41ms (Views: 38.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-22 16:35:34 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 29ms (Views: 24.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:35:37 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.5ms) +Completed 200 OK in 34ms (Views: 29.1ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/6" for ::1 at 2017-03-22 16:35:39 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"6"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 6], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.9ms) +Completed 200 OK in 38ms (Views: 31.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:35:40 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 38ms (Views: 33.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:36:08 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 25ms (Views: 22.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:36:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 22ms (Views: 20.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:36:34 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 48ms (Views: 45.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:37:19 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 46ms (Views: 43.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:37:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 48ms (Views: 45.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:37:36 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 43ms (Views: 40.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:38:09 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 49ms (Views: 46.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:38:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 57ms (Views: 49.0ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:39:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.7ms) +Completed 200 OK in 24ms (Views: 22.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:39:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 44ms (Views: 40.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:39:45 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 45ms (Views: 41.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:40:43 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 48ms (Views: 45.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:41:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 43ms (Views: 39.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:41:18 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 51ms (Views: 46.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:41:39 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (8.0ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (10.1ms) +Completed 200 OK in 61ms (Views: 48.8ms | ActiveRecord: 8.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:41:48 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 44ms (Views: 40.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:42:07 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 48ms (Views: 46.2ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:42:32 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 46ms (Views: 44.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:42:59 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.1ms) +Completed 200 OK in 52ms (Views: 49.9ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:43:18 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 500 Internal Server Error in 27ms (ActiveRecord: 0.3ms) + + + +ActionView::Template::Error (Invalid CSS after " font-size": expected ";", was ": 2em;"): + 4: TaskList + 5: <%= csrf_meta_tags %> + 6: + 7: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + 8: <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + 9: + 10: + +app/assets/stylesheets/tasks.scss:65 +app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb___3996109302759108924_70308019229420' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (7.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (69.3ms) +Started GET "/tasks/6" for ::1 at 2017-03-22 16:43:26 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"6"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 6], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.3ms) +Completed 200 OK in 45ms (Views: 42.8ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:43:28 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.4ms) +Completed 200 OK in 27ms (Views: 24.3ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:45:53 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 56ms (Views: 53.9ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:46:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 47ms (Views: 44.3ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:48:16 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.3ms) +Completed 200 OK in 67ms (Views: 64.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:48:26 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 56ms (Views: 54.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:48:59 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 55ms (Views: 52.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:49:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.8ms) +Completed 200 OK in 57ms (Views: 54.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:49:35 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.3ms) +Completed 200 OK in 24ms (Views: 21.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 16:49:44 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (5.7ms) +Completed 200 OK in 30ms (Views: 25.4ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 16:49:52 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.9ms) +Completed 200 OK in 35ms (Views: 30.2ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:50:17 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.4ms) +Completed 200 OK in 25ms (Views: 22.7ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:50:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 44ms (Views: 42.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:50:38 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 42ms (Views: 40.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:50:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 42ms (Views: 39.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:51:09 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 55ms (Views: 52.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:51:28 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.3ms) +Completed 200 OK in 23ms (Views: 20.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-22 16:51:33 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 27ms (Views: 22.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-22 16:51:59 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 27ms (Views: 21.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:52:00 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.5ms) +Completed 200 OK in 31ms (Views: 28.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 16:52:03 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.4ms) +Completed 200 OK in 28ms (Views: 23.7ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 16:52:11 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.9ms) +Completed 200 OK in 25ms (Views: 22.5ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:52:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.3ms) +Completed 200 OK in 29ms (Views: 26.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:52:38 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 47ms (Views: 44.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:53:16 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.8ms) +Completed 500 Internal Server Error in 8ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:16: syntax error, unexpected '=' +New Task", "tasks/new", class="home-button" );@output_buffer + ^): + +app/views/tasks/index.html.erb:16: syntax error, unexpected '=' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (62.9ms) +Started GET "/tasks" for ::1 at 2017-03-22 16:53:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.7ms) +Completed 200 OK in 47ms (Views: 45.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:54:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.4ms) +Completed 200 OK in 52ms (Views: 49.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-22 16:54:22 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 28ms (Views: 22.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:54:41 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 52ms (Views: 50.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-22 16:54:42 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.2ms) +Completed 200 OK in 32ms (Views: 26.9ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:54:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 35ms (Views: 30.9ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:55:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 22ms (Views: 19.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:55:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.4ms) +Completed 200 OK in 25ms (Views: 22.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:55:05 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 25ms (Views: 22.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:55:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 49ms (Views: 47.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 16:55:19 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (10.9ms) +Completed 200 OK in 40ms (Views: 35.4ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:55:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.2ms) +Completed 200 OK in 40ms (Views: 33.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:55:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 62ms (Views: 59.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:56:11 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 48ms (Views: 46.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:56:36 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 53ms (Views: 51.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:56:55 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.1ms) +Completed 200 OK in 52ms (Views: 49.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:57:40 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.5ms) +Completed 200 OK in 64ms (Views: 60.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:57:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 50ms (Views: 47.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:58:19 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 56ms (Views: 54.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-22 16:58:26 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (4.0ms) +Completed 200 OK in 29ms (Views: 24.6ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-22 16:58:38 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 30ms (Views: 23.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:58:47 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.0ms) +Completed 200 OK in 42ms (Views: 38.4ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/9" for ::1 at 2017-03-22 16:58:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (4.0ms) +Completed 200 OK in 32ms (Views: 27.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-22 16:58:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 39ms (Views: 35.6ms | ActiveRecord: 0.4ms) + + From 06fa925d1fdadc97ee7c0222488a50c127350b27 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Thu, 23 Mar 2017 12:43:33 -0700 Subject: [PATCH 24/44] Added Edit functionality for rails cycle including view --- app/assets/stylesheets/tasks.scss | 2 +- app/controllers/tasks_controller.rb | 4 + app/views/tasks/edit.html.erb | 13 ++ app/views/tasks/index.html.erb | 2 +- config/routes.rb | 2 + log/development.log | 249 ++++++++++++++++++++++++++++ 6 files changed, 270 insertions(+), 2 deletions(-) create mode 100644 app/views/tasks/edit.html.erb diff --git a/app/assets/stylesheets/tasks.scss b/app/assets/stylesheets/tasks.scss index 2b65d8fa0..b8e8b2e59 100644 --- a/app/assets/stylesheets/tasks.scss +++ b/app/assets/stylesheets/tasks.scss @@ -10,7 +10,7 @@ // light: 148, 230, 245 // bright: 0, 215, 255 // LIME 208, 188, 4 - // lightest 214, 203, 107 + // lightest 214, 203, 107 // light 215, 198, 45 // dark 195, 175, 0 // darker 179, 161, 0 diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index ac37f3afb..d55774f0e 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -8,6 +8,10 @@ def show @result_task = Task.find(params[:id]) end + def edit + @task = Task.find(params[:id]) + end + def new @task = Task.new end diff --git a/app/views/tasks/edit.html.erb b/app/views/tasks/edit.html.erb new file mode 100644 index 000000000..5a7dbf280 --- /dev/null +++ b/app/views/tasks/edit.html.erb @@ -0,0 +1,13 @@ +

Edit a Task

+ +<%= form_for @task, method: :put do |f| %> + + <%= f.label :name %> + <%= f.text_field :name %> + + <%= f.label :description %> + <%= f.text_area :description, size: "60x12" %> + + <%= f.submit "Edit Task" %> + +<% end %> diff --git a/app/views/tasks/index.html.erb b/app/views/tasks/index.html.erb index 95f6ec1f0..c3fcb40ea 100644 --- a/app/views/tasks/index.html.erb +++ b/app/views/tasks/index.html.erb @@ -13,4 +13,4 @@ -<%= link_to "Create New Task", "tasks/new", class: "bottom-button" %> +<%= link_to "Create New Task", new_task_path, class: "bottom-button" %> diff --git a/config/routes.rb b/config/routes.rb index 516765026..4f8172694 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,4 +6,6 @@ get '/tasks', to: 'tasks#index' get '/tasks/:id', to: 'tasks#show', as: 'task' + + get '/tasks/:id/edit', to: 'tasks#edit', as: 'edit_task' end diff --git a/log/development.log b/log/development.log index ae4a7a190..6a6cbe840 100644 --- a/log/development.log +++ b/log/development.log @@ -3433,3 +3433,252 @@ Processing by TasksController#index as HTML Completed 200 OK in 39ms (Views: 35.6ms | ActiveRecord: 0.4ms) +Started GET "/tasks" for ::1 at 2017-03-23 12:36:56 -0700 + ActiveRecord::SchemaMigration Load (0.7ms) SELECT "schema_migrations".* FROM "schema_migrations" +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (12.7ms) +Completed 200 OK in 301ms (Views: 283.6ms | ActiveRecord: 1.0ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-23 12:37:00 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.5ms) +Completed 200 OK in 28ms (Views: 20.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-23 12:37:23 -0700 + +ActionController::RoutingError (No route matches [GET] "/tasks/1/edit"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [4 times] (8.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (9.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (98.9ms) +Started GET "/tasks/1/edit" for ::1 at 2017-03-23 12:40:04 -0700 + +AbstractController::ActionNotFound (The action 'edit' could not be found for TasksController): + +actionpack (5.0.2) lib/abstract_controller/base.rb:121:in `process' +actionview (5.0.2) lib/action_view/rendering.rb:30:in `process' +actionpack (5.0.2) lib/action_controller/metal.rb:190:in `dispatch' +actionpack (5.0.2) lib/action_controller/metal.rb:262:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:32:in `serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:39:in `block in serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `each' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `serve' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:725:in `call' +rack (2.0.1) lib/rack/etag.rb:25:in `call' +rack (2.0.1) lib/rack/conditional_get.rb:25:in `call' +rack (2.0.1) lib/rack/head.rb:12:in `call' +rack (2.0.1) lib/rack/session/abstract/id.rb:222:in `context' +rack (2.0.1) lib/rack/session/abstract/id.rb:216:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/cookies.rb:613:in `call' +activerecord (5.0.2) lib/active_record/migration.rb:553:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call' +activesupport (5.0.2) lib/active_support/callbacks.rb:97:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:36:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout (0.4ms) +Started GET "/tasks/1/edit" for ::1 at 2017-03-23 12:40:28 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} +Completed 406 Not Acceptable in 57ms (ActiveRecord: 0.0ms) + + + +ActionController::UnknownFormat (TasksController#edit is missing a template for this request format and variant. + +request.formats: ["text/html"] +request.variant: [] + +NOTE! For XHR/Ajax or API requests, this action would normally respond with 204 No Content: an empty white screen. Since you're loading it in a web browser, we assume that you expected to actually render a template, not nothing, so we're showing an error to be extra-clear. If you expect 204 No Content, carry on. That's what you'll get from an XHR or API request. Give it a shot.): + +actionpack (5.0.2) lib/action_controller/metal/implicit_render.rb:56:in `default_render' +actionpack (5.0.2) lib/action_controller/metal/basic_implicit_render.rb:4:in `block in send_action' +actionpack (5.0.2) lib/action_controller/metal/basic_implicit_render.rb:4:in `tap' +actionpack (5.0.2) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action' +actionpack (5.0.2) lib/abstract_controller/base.rb:188:in `process_action' +actionpack (5.0.2) lib/action_controller/metal/rendering.rb:30:in `process_action' +actionpack (5.0.2) lib/abstract_controller/callbacks.rb:20:in `block in process_action' +activesupport (5.0.2) lib/active_support/callbacks.rb:126:in `call' +activesupport (5.0.2) lib/active_support/callbacks.rb:506:in `block (2 levels) in compile' +activesupport (5.0.2) lib/active_support/callbacks.rb:455:in `call' +activesupport (5.0.2) lib/active_support/callbacks.rb:101:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_process_action_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/abstract_controller/callbacks.rb:19:in `process_action' +actionpack (5.0.2) lib/action_controller/metal/rescue.rb:20:in `process_action' +actionpack (5.0.2) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action' +activesupport (5.0.2) lib/active_support/notifications.rb:164:in `block in instrument' +activesupport (5.0.2) lib/active_support/notifications/instrumenter.rb:21:in `instrument' +activesupport (5.0.2) lib/active_support/notifications.rb:164:in `instrument' +actionpack (5.0.2) lib/action_controller/metal/instrumentation.rb:30:in `process_action' +actionpack (5.0.2) lib/action_controller/metal/params_wrapper.rb:248:in `process_action' +activerecord (5.0.2) lib/active_record/railties/controller_runtime.rb:18:in `process_action' +actionpack (5.0.2) lib/abstract_controller/base.rb:126:in `process' +actionview (5.0.2) lib/action_view/rendering.rb:30:in `process' +actionpack (5.0.2) lib/action_controller/metal.rb:190:in `dispatch' +actionpack (5.0.2) lib/action_controller/metal.rb:262:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:32:in `serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:39:in `block in serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `each' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `serve' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:725:in `call' +rack (2.0.1) lib/rack/etag.rb:25:in `call' +rack (2.0.1) lib/rack/conditional_get.rb:25:in `call' +rack (2.0.1) lib/rack/head.rb:12:in `call' +rack (2.0.1) lib/rack/session/abstract/id.rb:222:in `context' +rack (2.0.1) lib/rack/session/abstract/id.rb:216:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/cookies.rb:613:in `call' +activerecord (5.0.2) lib/active_record/migration.rb:553:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call' +activesupport (5.0.2) lib/active_support/callbacks.rb:97:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:36:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (3.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (59.8ms) +Started GET "/tasks/1/edit" for ::1 at 2017-03-23 12:40:54 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.3ms) +Completed 200 OK in 47ms (Views: 45.0ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-23 12:42:35 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.2ms) +Completed 500 Internal Server Error in 9ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 1:

Edit a Task

+ 2: + 3: <%= form_for @task, method: :put do |f| %> + 4: + 5: <%= f.label :name %> + 6: <%= f.text_field :name %> + +app/views/tasks/edit.html.erb:3:in `_app_views_tasks_edit_html_erb__525815976469291760_70270164934580' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (63.1ms) +Started GET "/tasks/1/edit" for ::1 at 2017-03-23 12:43:04 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (21.3ms) +Completed 200 OK in 53ms (Views: 38.6ms | ActiveRecord: 0.8ms) + + From c9edf991e82ed99d1ec7e8fbbacb3ce03f8ce80f Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Thu, 23 Mar 2017 12:50:46 -0700 Subject: [PATCH 25/44] Added update functionality to save changes to tasks --- app/controllers/tasks_controller.rb | 14 ++ app/views/tasks/edit.html.erb | 6 + config/routes.rb | 1 + db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 192 ++++++++++++++++++++++++++++ 5 files changed, 213 insertions(+) diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index d55774f0e..5bce36ee5 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -12,6 +12,20 @@ def edit @task = Task.find(params[:id]) end + def update + task = Task.find(params[:id]) + + task.name = task_params[:name] + task.description = task_params[:description] + task.status = task_params[:status] + task.complete_by = task_params[:complete_by] + + if task.save + redirect_to task_path + end + + end + def new @task = Task.new end diff --git a/app/views/tasks/edit.html.erb b/app/views/tasks/edit.html.erb index 5a7dbf280..494e00f26 100644 --- a/app/views/tasks/edit.html.erb +++ b/app/views/tasks/edit.html.erb @@ -8,6 +8,12 @@ <%= f.label :description %> <%= f.text_area :description, size: "60x12" %> + <%= f.label :status %> + <%= f.select :status, ["Haven't Started", "Getting There", "Done!"] %> + + <%= f.label :complete_by, "Complete Task on date:"%> + <%= f.date_select :complete_by, :start_year => 2017 %> + <%= f.submit "Edit Task" %> <% end %> diff --git a/config/routes.rb b/config/routes.rb index 4f8172694..931dda5a6 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -8,4 +8,5 @@ get '/tasks/:id', to: 'tasks#show', as: 'task' get '/tasks/:id/edit', to: 'tasks#edit', as: 'edit_task' + put '/tasks/:id', to: 'tasks#update' end diff --git a/db/development.sqlite3 b/db/development.sqlite3 index d5e6b1565e96d7bad71573c57d96ea52dd482ab7..68cb726771a4124d3382a4ed7015da0b29c93c45 100644 GIT binary patch delta 254 zcmZp8z}WDBae_3X zjng=d8@(908D!lV933028MMRmi?S8`OG`phi%T-|(iKWF5=($YszP!`VqSV`u|hde z!Q|3-WkF*FLrW_YODjV|JqrtS6JyiKE91lYJrc`O^VCZef=d#MN>WoM*GGM1;kRK3 zoh%=%H+fGq=jPSX6PZ~U7#LzEJH$t*rg3mFh?@fKW?;|`DM~EP2nX7yUaXLjSWu9f f2Xufv5KNvJt*ijE&eTxP#L~dj!U)Z#MF|1`4BJe% delta 109 zcmV-z0FwWJ-~oW(0gxL37m*x80T;1gp-&qC000UKe*h0W4r2|k4FU|Z3_1(N3vde? z3V*SIV+xahTJZu?2$LOKFq6(-5|f%+5wpcxcLM~0K>-PqKwnr9F(5KAIx{mmF*GhT PGchwYH"✓", "authenticity_token"=>"rD0yXiSUxe5SxRUph5CU7AxxBRTmrG1S0A0kfgyFTzvkGBVDBYlH3OsuEYsP3yNHR86qsW3R4M76xhbsWkv1yw==", "task"=>{"name"=>"Work Out", "description"=>"Get your booty off the couch & sweat."}, "commit"=>"Edit Task", "id"=>"1"} +No template found for TasksController#update, rendering head :no_content +Completed 204 No Content in 57ms (ActiveRecord: 0.0ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-23 12:44:55 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"rD0yXiSUxe5SxRUph5CU7AxxBRTmrG1S0A0kfgyFTzvkGBVDBYlH3OsuEYsP3yNHR86qsW3R4M76xhbsWkv1yw==", "task"=>{"name"=>"Work Out", "description"=>"Get your booty off the couch & sweat."}, "commit"=>"Edit Task", "id"=>"1"} +No template found for TasksController#update, rendering head :no_content +Completed 204 No Content in 62ms (ActiveRecord: 0.0ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-23 12:46:27 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (9.7ms) +Completed 200 OK in 48ms (Views: 26.2ms | ActiveRecord: 2.8ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-23 12:49:04 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (2.9ms) +Completed 200 OK in 36ms (Views: 20.4ms | ActiveRecord: 0.9ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-23 12:49:11 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"lQqqT9o9FiL1zKAjrmu69lSn+mnq53mdoe1WPxlVp3HdL41S+yCUEEwnpIEmJA1dHxhVzGGa9AGLJmStT5sdgQ==", "task"=>{"name"=>"Work Out", "description"=>"Testing that the changes work", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"23"}, "commit"=>"Edit Task", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.4ms) UPDATE "tasks" SET "description" = ?, "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["description", "Testing that the changes work"], ["status", "Haven't Started"], ["updated_at", 2017-03-23 19:49:11 UTC], ["id", 1]] +  (7.3ms) commit transaction +Completed 500 Internal Server Error in 138ms (ActiveRecord: 7.9ms) + + + +NameError (undefined local variable or method `book_path' for #): + +app/controllers/tasks_controller.rb:24:in `update' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (2.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (98.4ms) +Started PUT "/tasks/1" for ::1 at 2017-03-23 12:49:32 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"lQqqT9o9FiL1zKAjrmu69lSn+mnq53mdoe1WPxlVp3HdL41S+yCUEEwnpIEmJA1dHxhVzGGa9AGLJmStT5sdgQ==", "task"=>{"name"=>"Work Out", "description"=>"Testing that the changes work", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"23"}, "commit"=>"Edit Task", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction +  (0.0ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 16ms (ActiveRecord: 0.8ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-23 12:49:32 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 22ms (Views: 20.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 12:49:35 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (8.4ms) +Completed 200 OK in 35ms (Views: 31.1ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/6" for ::1 at 2017-03-23 12:49:36 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"6"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 6], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.5ms) +Completed 200 OK in 38ms (Views: 30.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 12:49:39 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.7ms) +Completed 200 OK in 41ms (Views: 34.9ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/8" for ::1 at 2017-03-23 12:49:41 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"8"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 8], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.8ms) +Completed 200 OK in 35ms (Views: 30.7ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/8/edit" for ::1 at 2017-03-23 12:49:43 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"8"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 8], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (7.9ms) +Completed 200 OK in 44ms (Views: 40.8ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/8" for ::1 at 2017-03-23 12:49:51 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"vnACKWPG/TZqRvSNWHSqoRSr4gc9ixkoQEyNeRfKf9P2VSU0Qtt/BNOt8C/QOx0KXxRNorb2lLRqh7/rQQTFIw==", "task"=>{"name"=>"Trash", "description"=>"What's happening????", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"23"}, "commit"=>"Edit Task", "id"=>"8"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 8], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "description" = ?, "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["description", "What's happening????"], ["status", "Haven't Started"], ["updated_at", 2017-03-23 19:49:51 UTC], ["id", 8]] +  (2.1ms) commit transaction +Redirected to http://localhost:3000/tasks/8 +Completed 302 Found in 6ms (ActiveRecord: 2.5ms) + + +Started GET "/tasks/8" for ::1 at 2017-03-23 12:49:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"8"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 8], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.4ms) +Completed 200 OK in 25ms (Views: 22.0ms | ActiveRecord: 0.2ms) + + From bd6d4027d333ab87ded4e500ca687da8cadcac3f Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Thu, 23 Mar 2017 15:55:17 -0700 Subject: [PATCH 26/44] added link to edit task on task page. --- app/views/tasks/show.html.erb | 3 +- db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 64 ++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index ee8fe63a5..7c75ac2e3 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -14,5 +14,6 @@

- <%= link_to "home", tasks_path %> + <%= link_to "Home", tasks_path %> + <%= link_to "Edit Task", edit_task_path %>

diff --git a/db/development.sqlite3 b/db/development.sqlite3 index 68cb726771a4124d3382a4ed7015da0b29c93c45..7219e6c62ad9c61cdf2c061ebb50d6c73ffbe6f4 100644 GIT binary patch delta 103 zcmZp8z}WDBae_3X)I=F)MyZVn%luikGH`C)%oVVj)1c9vk()u*k-^ci(V9U!JijPg z!N0V`J+(x^$Uq@CGfyEuO(C@+wJ15WI8`AtPjB+mNL79#BP&xAD`N{i3o{E7ON-5t HQO`vIcD5gU delta 103 zcmZp8z}WDBae_3Xr3$%oVVj(}0^n)}6u8vC*1AJ3PNATfx7y zBqX)CBr`8vp(G=*1W2SRBxfY%rKc7vlmit^ej2IDZ)j;{VrgY)sApkeZenb@Su*Om FC;+)UApQUV diff --git a/log/development.log b/log/development.log index da9364628..7bcfb05ec 100644 --- a/log/development.log +++ b/log/development.log @@ -3874,3 +3874,67 @@ Processing by TasksController#show as HTML Completed 200 OK in 25ms (Views: 22.0ms | ActiveRecord: 0.2ms) +Started GET "/tasks" for ::1 at 2017-03-23 15:52:16 -0700 + ActiveRecord::SchemaMigration Load (0.6ms) SELECT "schema_migrations".* FROM "schema_migrations" +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (13.0ms) +Completed 200 OK in 287ms (Views: 272.2ms | ActiveRecord: 0.9ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-23 15:53:40 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 29ms (Views: 20.7ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-23 15:54:19 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 26ms (Views: 23.5ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-23 15:54:20 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (44.3ms) +Completed 200 OK in 67ms (Views: 63.9ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-23 15:54:38 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"WWQGz8sqbUTzY8UDNnSy1Exfegsu4MzWEBHvoB3kt1ZfbJhs9NHKmLeVgG9cMwbHDzuN2QjqBXAMszmouIsj+g==", "task"=>{"name"=>"Work Out", "description"=>"Get 20 min of exercise in.", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"25"}, "commit"=>"Edit Task", "id"=>"1"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.4ms) UPDATE "tasks" SET "description" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["description", "Get 20 min of exercise in."], ["updated_at", 2017-03-23 22:54:38 UTC], ["id", 1]] +  (0.7ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 7ms (ActiveRecord: 1.5ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-23 15:54:38 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 21ms (Views: 18.9ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 15:54:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 26ms (Views: 23.8ms | ActiveRecord: 0.2ms) + + From df16fc7cdfcf7ed426e7f154236a4b0869cc1ab6 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Thu, 23 Mar 2017 15:59:16 -0700 Subject: [PATCH 27/44] moved styling to application file. --- app/assets/stylesheets/application.css | 76 ++++++++++++++++++++++++- app/assets/stylesheets/tasks.scss | 78 +------------------------- app/views/tasks/show.html.erb | 10 ++-- log/development.log | 54 ++++++++++++++++++ 4 files changed, 136 insertions(+), 82 deletions(-) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index a2ce49bf8..ce60c00b7 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -1,3 +1,5 @@ +@import url('https://fonts.googleapis.com/css?family=Raleway'); +@import url('https://fonts.googleapis.com/css?family=Rock+Salt'); /* * This is a manifest file that'll be compiled into application.css, which will include all the files * listed below. @@ -14,6 +16,78 @@ *= require_self */ /* +// Color Pallet +// TEAL/BLUE (RGB) 5, 181, 214 + // light: 148, 230, 245 + // bright: 0, 215, 255 + // LIME 208, 188, 4 + // lightest 214, 203, 107 + // light 215, 198, 45 + // dark 195, 175, 0 + // darker 179, 161, 0 + // GREY 143, 141, 142 + // purply 122, 111, 118 + // darker 111, 109, 111 + // darkest 98, 96, 97 +// +*/ + html { + font-family: 'Raleway', sans-serif; + margin: 10px 50px; +} + +h1 { + color: rgb(5, 181, 214); font-family: 'Rock Salt', cursive; -}*/ +} + +textarea, label, date_select { + box-sizing: border-box; + display: block; + margin: 10px; +} + +img { + height: 200px; +} + + +// Styling the all task list area + +.main-list li { + list-style: upper-roman; + margin: 2px; +} + +.main-list { + background-color: rgba(214, 203, 107, 1); + width: 500px; + color: white; + font-weight: bold; + padding: 2px; + margin-bottom: 20px; + border-radius: 10px; +} + +.main-list a { + color: grey; +} + +.main-list a:hover { + color: rgb(5, 181, 214); +} + +.main-list h2 { + border-bottom: 1px solid rgb(5, 181, 214); + text-align: center; +} + +// Just home button issues + +a.bottom-button { + background-color: white; + padding-top: 20px; + width: 500px; + text-align: center; +} diff --git a/app/assets/stylesheets/tasks.scss b/app/assets/stylesheets/tasks.scss index b8e8b2e59..37d5c2d97 100644 --- a/app/assets/stylesheets/tasks.scss +++ b/app/assets/stylesheets/tasks.scss @@ -1,81 +1,5 @@ -@import url('https://fonts.googleapis.com/css?family=Raleway'); -@import url('https://fonts.googleapis.com/css?family=Rock+Salt'); + // Place all the styles related to the Tasks controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ - -// Color Pallet -// TEAL/BLUE (RGB) 5, 181, 214 - // light: 148, 230, 245 - // bright: 0, 215, 255 - // LIME 208, 188, 4 - // lightest 214, 203, 107 - // light 215, 198, 45 - // dark 195, 175, 0 - // darker 179, 161, 0 - // GREY 143, 141, 142 - // purply 122, 111, 118 - // darker 111, 109, 111 - // darkest 98, 96, 97 -// - -html { - font-family: 'Raleway', sans-serif; - margin: 10px 50px; -} - -h1, h2, h3, h4, a { - color: rgb(5, 181, 214); - font-family: 'Rock Salt', cursive; -} - -textarea, label, date_select { - box-sizing: border-box; - display: block; - margin: 10px; -} - -img { - height: 200px; -} - - -// Styling the all task list area - -.main-list li { - list-style: upper-roman; - margin: 2px; -} - -.main-list { - background-color: rgba(214, 203, 107, 1); - width: 500px; - color: white; - font-weight: bold; - padding: 2px; - margin-bottom: 20px; - border-radius: 10px; -} - -.main-list a { - color: grey; -} - -.main-list a:hover { - color: rgb(5, 181, 214); -} - -.main-list h2 { - border-bottom: 1px solid rgb(5, 181, 214); - text-align: center; -} - -// Just home button issues - -a.bottom-button { - background-color: white; - padding-top: 20px; - width: 500px; - text-align: center; -} diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index 7c75ac2e3..7806ec0b9 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -1,9 +1,11 @@

Each Task

-

- Task number <%= params[:id] %> is - <%= @result_task.name%>: <%=@result_task.description%> -

+
+

<%= @result_task.name%> :

+

+ <%=@result_task.description%> +

+

<% if @result_task.image == nil %> diff --git a/log/development.log b/log/development.log index 7bcfb05ec..016140432 100644 --- a/log/development.log +++ b/log/development.log @@ -3938,3 +3938,57 @@ Processing by TasksController#index as HTML Completed 200 OK in 26ms (Views: 23.8ms | ActiveRecord: 0.2ms) +Started GET "/tasks/2" for ::1 at 2017-03-23 15:55:55 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 28ms (Views: 23.2ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 15:56:29 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 22ms (Views: 19.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 15:56:38 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 27ms (Views: 23.3ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 15:58:23 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.6ms) +Completed 200 OK in 30ms (Views: 27.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 15:58:35 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 24ms (Views: 21.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 15:58:41 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 27ms (Views: 24.5ms | ActiveRecord: 0.1ms) + + From 82dcb0719a029ef36d1f1aac98c11d730328bde0 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Fri, 24 Mar 2017 09:15:54 -0700 Subject: [PATCH 28/44] Complete_by not saving --- app/assets/stylesheets/application.css | 31 +- app/views/tasks/edit.html.erb | 7 +- app/views/tasks/index.html.erb | 19 +- app/views/tasks/show.html.erb | 12 +- db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 1147 ++++++++++++++++++++++++ 6 files changed, 1191 insertions(+), 25 deletions(-) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index ce60c00b7..f425edb98 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -34,10 +34,11 @@ html { font-family: 'Raleway', sans-serif; - margin: 10px 50px; + margin: 10px 5%; + overflow: auto; } -h1 { +h1, h2 { color: rgb(5, 181, 214); font-family: 'Rock Salt', cursive; } @@ -53,37 +54,45 @@ img { } -// Styling the all task list area +/*Styling the all task list area*/ -.main-list li { - list-style: upper-roman; +.task { margin: 2px; + background-color: white; + display:inline-block; + height: 200px; + width: 30%; + margin: 20px 1.5%; + text-align: center; +} + +.task P { + margin: 10px; } .main-list { background-color: rgba(214, 203, 107, 1); - width: 500px; - color: white; font-weight: bold; padding: 2px; margin-bottom: 20px; border-radius: 10px; } -.main-list a { +a { color: grey; + text-decoration: none; + padding: 10px; } -.main-list a:hover { +a:hover { color: rgb(5, 181, 214); } .main-list h2 { - border-bottom: 1px solid rgb(5, 181, 214); text-align: center; } -// Just home button issues +/*Just home button issues*/ a.bottom-button { background-color: white; diff --git a/app/views/tasks/edit.html.erb b/app/views/tasks/edit.html.erb index 494e00f26..297d31db5 100644 --- a/app/views/tasks/edit.html.erb +++ b/app/views/tasks/edit.html.erb @@ -5,15 +5,18 @@ <%= f.label :name %> <%= f.text_field :name %> + <%= f.label :image %> + <%= f.text_field :image %> + <%= f.label :description %> <%= f.text_area :description, size: "60x12" %> <%= f.label :status %> <%= f.select :status, ["Haven't Started", "Getting There", "Done!"] %> - <%= f.label :complete_by, "Complete Task on date:"%> + <%= f.label :complete_by, "Task should be completed by:"%> <%= f.date_select :complete_by, :start_year => 2017 %> - <%= f.submit "Edit Task" %> + <%= f.submit "Save" %> <% end %> diff --git a/app/views/tasks/index.html.erb b/app/views/tasks/index.html.erb index c3fcb40ea..f0b18edc2 100644 --- a/app/views/tasks/index.html.erb +++ b/app/views/tasks/index.html.erb @@ -1,15 +1,16 @@ -

Tasks#index

+

All My Tasks

-

Get it Done!

-
    - <% @tasks.each do |task| %> -
  • - <%= link_to task.name, task_path(task.id) %> : <%= task.description %> -
  • - <% end %> -
+

TO DO

+ <% @tasks.each do |task| %> +
+

<%= link_to task.name, task_path(task.id) %>

+

+ <%= task.description %> +

+
+ <% end %>
diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index 7806ec0b9..d7b9850ae 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -1,9 +1,15 @@ -

Each Task

+

Details

<%= @result_task.name%> :

- <%=@result_task.description%> + Description: <%=@result_task.description%>
+

+

+ Status:
+

+

+ Complete by: <%=@result_task.complete_by%>

@@ -17,5 +23,5 @@

<%= link_to "Home", tasks_path %> - <%= link_to "Edit Task", edit_task_path %> + <%= link_to "Edit", edit_task_path %>

diff --git a/db/development.sqlite3 b/db/development.sqlite3 index 7219e6c62ad9c61cdf2c061ebb50d6c73ffbe6f4..50592bc857e1d30aa5b623c7dad7ebe3e36d4236 100644 GIT binary patch delta 431 zcmZp8z}WDBae_3X;zSu|M#YT@3;kue>KV8>J}_`@mQ`DpZ876t}}yOX!Y+~jSvW&t|I8ssBwhRM9K zPCySCnpqi|S{a$>nH!lI8yikei1n97^H4l17lWuK*k#(2_r#d$L4v`=%EVaD%)r>f x*b+@cV>%NzgK9F!oXK3#y38vtD3a=rin delta 270 zcmZp8z}WDBae_3X)I=F)MyZVn3;m_J3mCXKw=!^U zjng=p8@(7OZ;d>~+bGG!%^=;#%HZh8pg4J2RQlw{QQ|Bnx<*Em`J$6p_-z3}`(U6&wK{gbqzfpGbzX*RpLj@y4D`OKY zQ$sxqOA|{AgUNA`9z2aj=$slEcllR0$!Ic?U>KU1t85&qlR*z4zU|?W~VUP_6 zDYFjGFUnT%FD-FTEm5e"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 21ms (Views: 18.8ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 15:59:58 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.3ms) +Completed 200 OK in 31ms (Views: 28.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/6" for ::1 at 2017-03-23 16:00:11 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"6"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 6], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.9ms) +Completed 200 OK in 33ms (Views: 28.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-23 16:00:15 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.8ms) +Completed 200 OK in 29ms (Views: 25.3ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-23 16:00:25 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"89MAELkSHmWLRWS6XDQnut80PugX82Jv76mp+/57mZFU+QFiu6pJkmbMPcFqVKjppavd8QHpcoTJtfWyD4I0GQ==", "task"=>{"name"=>"Testing", "description"=>"Test test", "status"=>"Getting There", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"23"}, "commit"=>"Add Task"} +  (0.1ms) begin transaction + SQL (0.9ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at", "complete_by", "status") VALUES (?, ?, ?, ?, ?, ?) [["name", "Testing"], ["description", "Test test"], ["created_at", 2017-03-23 23:00:25 UTC], ["updated_at", 2017-03-23 23:00:25 UTC], ["complete_by", Thu, 23 Mar 2017], ["status", "Getting There"]] +  (1.2ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 8ms (ActiveRecord: 2.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 16:00:25 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.5ms) +Completed 200 OK in 22ms (Views: 19.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/11" for ::1 at 2017-03-23 16:00:26 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.4ms) +Completed 200 OK in 33ms (Views: 27.9ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/11" for ::1 at 2017-03-23 16:01:07 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (4.1ms) +Completed 200 OK in 24ms (Views: 21.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/11" for ::1 at 2017-03-23 16:01:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.2ms) +Completed 200 OK in 22ms (Views: 19.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 16:01:55 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 34ms (Views: 31.7ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-23 16:02:00 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.7ms) +Completed 200 OK in 27ms (Views: 23.9ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/10/edit" for ::1 at 2017-03-23 16:02:01 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"10"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.2ms) +Completed 200 OK in 27ms (Views: 23.9ms | ActiveRecord: 0.2ms) + + +Started PUT "/tasks/10" for ::1 at 2017-03-23 16:02:04 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"nZ2syLbKbpZJdoEHP3uF8OHs6+/gY1oRk3R1D0iYGzwW0nZGncvHaq4EAEygHtyCPLxfhtlP5Ca31Qg6XLXA/g==", "task"=>{"name"=>"Testing", "description"=>"Testing a new task with Status and Complete by fields added.", "status"=>"Getting There", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"4", "complete_by(3i)"=>"22"}, "commit"=>"Edit Task", "id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] +  (0.0ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "complete_by" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["complete_by", nil], ["updated_at", 2017-03-23 23:02:04 UTC], ["id", 10]] +  (3.0ms) commit transaction +Redirected to http://localhost:3000/tasks/10 +Completed 302 Found in 7ms (ActiveRecord: 3.4ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-23 16:02:04 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (4.0ms) +Completed 200 OK in 23ms (Views: 20.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-23 16:02:49 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.3ms) +Completed 200 OK in 31ms (Views: 27.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 16:02:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 33ms (Views: 31.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-23 16:04:56 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (4.4ms) +Completed 200 OK in 40ms (Views: 37.5ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 16:05:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 31ms (Views: 27.5ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/9" for ::1 at 2017-03-23 16:05:04 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.8ms) +Completed 200 OK in 26ms (Views: 22.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 16:05:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 32ms (Views: 28.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:12:08 -0700 + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (13.8ms) +Completed 200 OK in 276ms (Views: 260.8ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:12:47 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 24ms (Views: 21.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:13:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 26ms (Views: 24.0ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:13:45 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.8ms) +Completed 200 OK in 26ms (Views: 24.1ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:15:43 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 26ms (Views: 23.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:16:11 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 25ms (Views: 22.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:17:21 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 24ms (Views: 21.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-23 21:17:34 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.4ms) +Completed 200 OK in 30ms (Views: 23.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-23 21:18:12 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.0ms) +Completed 200 OK in 27ms (Views: 24.5ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:21:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 32ms (Views: 29.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:23:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 25ms (Views: 23.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:23:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 23ms (Views: 20.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:24:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 29ms (Views: 26.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:25:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.5ms) +Completed 200 OK in 25ms (Views: 22.2ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:25:37 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 28ms (Views: 25.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:26:39 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.3ms) +Completed 200 OK in 24ms (Views: 21.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:27:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 27ms (Views: 24.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:27:53 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.2ms) +Completed 200 OK in 33ms (Views: 31.1ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:27:58 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 27ms (Views: 24.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:28:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 32ms (Views: 29.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:28:57 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.3ms) +Completed 200 OK in 29ms (Views: 26.5ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:31:25 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.1ms) +Completed 200 OK in 27ms (Views: 24.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:32:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 31ms (Views: 28.5ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:33:53 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 23ms (Views: 20.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:34:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 30ms (Views: 27.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-23 21:35:14 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (37.1ms) +Completed 200 OK in 63ms (Views: 58.8ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:35:21 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 36ms (Views: 32.1ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:35:33 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 22ms (Views: 20.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:35:48 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.5ms) +Completed 200 OK in 25ms (Views: 22.7ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:36:08 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.8ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.2ms) +Completed 200 OK in 30ms (Views: 27.8ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:38:26 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (17.0ms) +Completed 500 Internal Server Error in 23ms (ActiveRecord: 0.2ms) + + + +ActionView::Template::Error (undefined method `stringify_keys' for "/tasks/1":String): + 6: <% @tasks.each do |task| %> + 7:
+ 8:

+ 9: <%= link_to task.name, task_path(task.id) do %> + 10:

+ 11:

+ 12: <%= task.description %> + +app/views/tasks/index.html.erb:9:in `block in _app_views_tasks_index_html_erb__3159307144692029538_70137970018100' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb__3159307144692029538_70137970018100' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (9.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (70.7ms) +Started GET "/tasks" for ::1 at 2017-03-23 21:38:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.1ms) +Completed 500 Internal Server Error in 13ms (ActiveRecord: 0.2ms) + + + +ActionView::Template::Error (undefined method `stringify_keys' for "/tasks/1":String): + 6: <% @tasks.each do |task| %> + 7:

+ 8:

+ 9: <%= link_to task.name, task_path(task.id) do %> + 10:

+ 11:

+ 12: <%= task.description %> + +app/views/tasks/index.html.erb:9:in `block in _app_views_tasks_index_html_erb__3159307144692029538_70137999354640' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb__3159307144692029538_70137999354640' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (59.3ms) +Started GET "/tasks" for ::1 at 2017-03-23 21:40:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.5ms) +Completed 500 Internal Server Error in 16ms (ActiveRecord: 0.5ms) + + + +ActionView::Template::Error (undefined method `stringify_keys' for "/tasks/1":String): + 5:

TO DO:

+ 6: <% @tasks.each do |task| %> + 7:
+ 8: <%= link_to task.name, task_path(task.id) do %> + 9:

+ 10: <%= task.description %> + 11:

+ +app/views/tasks/index.html.erb:8:in `block in _app_views_tasks_index_html_erb__3159307144692029538_70137972348460' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb__3159307144692029538_70137972348460' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (60.1ms) +Started GET "/tasks" for ::1 at 2017-03-23 21:42:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.0ms) +Completed 500 Internal Server Error in 15ms (ActiveRecord: 0.2ms) + + + +ActionView::Template::Error (undefined method `stringify_keys' for "/tasks/1":String): + 5:

TO DO:

+ 6: <% @tasks.each do |task| %> + 7:
+ 8: <%= link_to task.name, task_path(task.id) do %> + 9:

+ 10: <%= task.description %> + 11:

+ +app/views/tasks/index.html.erb:8:in `block in _app_views_tasks_index_html_erb__3159307144692029538_70137981542020' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb__3159307144692029538_70137981542020' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (61.6ms) +Started GET "/tasks" for ::1 at 2017-03-23 21:43:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 29ms (Views: 26.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:45:01 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 26ms (Views: 24.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 21:45:04 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 27ms (Views: 22.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 21:45:13 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 23ms (Views: 21.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:45:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 25ms (Views: 22.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:45:27 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 28ms (Views: 26.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 21:45:30 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (4.0ms) +Completed 200 OK in 32ms (Views: 27.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 21:45:40 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 24ms (Views: 21.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 21:45:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 28ms (Views: 25.0ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:45:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.3ms) +Completed 200 OK in 31ms (Views: 28.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:46:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.9ms) +Completed 200 OK in 28ms (Views: 26.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:47:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.3ms) +Completed 200 OK in 30ms (Views: 28.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:47:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 23ms (Views: 21.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/11" for ::1 at 2017-03-23 21:47:29 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (4.2ms) +Completed 200 OK in 27ms (Views: 22.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/11" for ::1 at 2017-03-23 21:48:01 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.6ms) +Completed 200 OK in 21ms (Views: 19.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/11/edit" for ::1 at 2017-03-23 21:48:09 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (5.4ms) +Completed 200 OK in 31ms (Views: 25.5ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/11" for ::1 at 2017-03-23 21:48:38 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"8y4U9W/28pveh9gumBOlQ2fvp3HvF1Kv4KDJKswN2RWme+CWqr5rwzdrAsfgcYG5ezny332czC2P58mv9D8Rog==", "task"=>{"name"=>"Testing", "description"=>"Test test", "status"=>"Done!", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"23"}, "commit"=>"Edit Task", "id"=>"11"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] +  (0.2ms) begin transaction + SQL (1.3ms) UPDATE "tasks" SET "status" = ?, "complete_by" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Done!"], ["complete_by", nil], ["updated_at", 2017-03-24 04:48:38 UTC], ["id", 11]] +  (1.8ms) commit transaction +Redirected to http://localhost:3000/tasks/11 +Completed 302 Found in 14ms (ActiveRecord: 3.4ms) + + +Started GET "/tasks/11" for ::1 at 2017-03-23 21:48:38 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.8ms) +Completed 200 OK in 19ms (Views: 16.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/11/edit" for ::1 at 2017-03-23 21:48:40 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.6ms) +Completed 200 OK in 29ms (Views: 25.0ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/11" for ::1 at 2017-03-23 21:48:42 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"acryg1Zi5McVU2MelRe9ieV9xo73IqcozWHWQHe51zQ8nwbgkyp9n/y/ufftdZlz+auTIGWpOaqiJtbFT4sfgw==", "task"=>{"name"=>"Testing", "description"=>"Test test", "status"=>"Done!", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] +  (0.1ms) begin transaction +  (0.1ms) commit transaction +Redirected to http://localhost:3000/tasks/11 +Completed 302 Found in 4ms (ActiveRecord: 0.2ms) + + +Started GET "/tasks/11" for ::1 at 2017-03-23 21:48:42 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.1ms) +Completed 200 OK in 23ms (Views: 20.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:48:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 29ms (Views: 26.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-23 21:48:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.2ms) +Completed 200 OK in 28ms (Views: 24.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/3/edit" for ::1 at 2017-03-23 21:49:03 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.5ms) +Completed 200 OK in 33ms (Views: 29.7ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/3/edit" for ::1 at 2017-03-23 21:49:26 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (2.6ms) +Completed 200 OK in 23ms (Views: 20.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/3/edit" for ::1 at 2017-03-23 21:50:44 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.9ms) +Completed 500 Internal Server Error in 9ms (ActiveRecord: 0.1ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/edit.html.erb:9: syntax error, unexpected tSTRING_BEG, expecting ')' +append=( f.text_field :image "Image URL" );@output_buffer.sa + ^): + +app/views/tasks/edit.html.erb:9: syntax error, unexpected tSTRING_BEG, expecting ')' +append=( f.text_field :image "Image URL" );@output_buffer.sa + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (63.1ms) +Started GET "/tasks/3/edit" for ::1 at 2017-03-23 21:50:51 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.8ms) +Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.1ms) + + + +ActionView::Template::Error (undefined method `merge' for "Image URL":String): + 6: <%= f.text_field :name %> + 7: + 8: <%= f.label :image %> + 9: <%= f.text_field :image, "Image URL" %> + 10: + 11: <%= f.label :description %> + 12: <%= f.text_area :description, size: "60x12" %> + +app/views/tasks/edit.html.erb:9:in `block in _app_views_tasks_edit_html_erb___2284082707560668590_70137981247300' +app/views/tasks/edit.html.erb:3:in `_app_views_tasks_edit_html_erb___2284082707560668590_70137981247300' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (7.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (70.0ms) +Started GET "/tasks/3/edit" for ::1 at 2017-03-23 21:51:00 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.3ms) +Completed 200 OK in 23ms (Views: 20.5ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/3" for ::1 at 2017-03-23 21:51:06 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"qRhS/OHS9JipXVZn5JLJVkx0g1FkVFWj2KZq0i2MrynhPXXhwM92qhC2UsVs3X79B8ss9O8p2D/ybVhAe0IV2Q==", "task"=>{"name"=>"Shopping", "image"=>"http://bizzee.net/wp-content/uploads/2014/03/Bizzee-Grocery-Shopping.jpg", "description"=>"Buy all the groceries for this week.", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Haven't Started"], ["updated_at", 2017-03-24 04:51:06 UTC], ["id", 3]] +  (2.5ms) commit transaction +Redirected to http://localhost:3000/tasks/3 +Completed 302 Found in 7ms (ActiveRecord: 3.0ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-23 21:51:06 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 33ms (Views: 29.4ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:51:08 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 28ms (Views: 25.8ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 21:51:47 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 33ms (Views: 27.0ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/2/edit" for ::1 at 2017-03-23 21:51:49 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.7ms) +Completed 200 OK in 35ms (Views: 31.9ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/2" for ::1 at 2017-03-23 21:51:58 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"mrU73oU/gLulrfW2NCC4jppvyXaN0RCMc1PcRu80dtmd64zB/F3fArb8Kx4e/10cQkT6RZZL5zLq/QJuDVBeyg==", "task"=>{"name"=>"Walk the Dog", "image"=>"http://img.wennermedia.com/article-leads-horizontal/mj-618_348_the-ideal-exercise-for-your-dog.jpg", "description"=>"Take the dog out for at least a 15min walk.", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"22"}, "commit"=>"Save", "id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] +  (0.0ms) begin transaction + SQL (0.4ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Haven't Started"], ["updated_at", 2017-03-24 04:51:58 UTC], ["id", 2]] +  (2.0ms) commit transaction +Redirected to http://localhost:3000/tasks/2 +Completed 302 Found in 6ms (ActiveRecord: 2.5ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 21:51:58 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 32ms (Views: 27.5ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/2/edit" for ::1 at 2017-03-23 21:52:03 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.6ms) +Completed 200 OK in 28ms (Views: 24.8ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/2" for ::1 at 2017-03-23 21:52:06 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"+MwLDryqhjj7YJFTOJxhXzy6jGvjHhOGhUZ3EhpCMdf/krwRxcjZgegxT/sSQ4TN5JG/WPiE5Dgc6Kk6+CYZxA==", "task"=>{"name"=>"Walk the Dog", "image"=>"http://img.wennermedia.com/article-leads-horizontal/mj-618_348_the-ideal-exercise-for-your-dog.jpg", "description"=>"Take the dog out for at least a 15min walk.", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"4", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] +  (0.1ms) begin transaction +  (0.1ms) commit transaction +Redirected to http://localhost:3000/tasks/2 +Completed 302 Found in 3ms (ActiveRecord: 0.3ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-23 21:52:06 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 25ms (Views: 22.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:54:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (8.9ms) +Completed 200 OK in 37ms (Views: 30.4ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks/5" for ::1 at 2017-03-23 21:54:23 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"5"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.1ms) +Completed 200 OK in 27ms (Views: 23.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/5/edit" for ::1 at 2017-03-23 21:54:25 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"5"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.5ms) +Completed 200 OK in 29ms (Views: 25.9ms | ActiveRecord: 0.2ms) + + +Started PUT "/tasks/5" for ::1 at 2017-03-23 21:54:29 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"nTI8+++H7xPSG+/2Fo2GPlRI8PLkDDYYPwGEKBf5BnDj8mfuDxWTRa1qD3XbIGC8oKYnUqZhoa0puMHLGY/p7w==", "task"=>{"name"=>"Test", "image"=>"", "description"=>"Test your butt", "status"=>"Haven't Started", "complete_by(1i)"=>"2018", "complete_by(2i)"=>"6", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"5"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] +Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.1ms) + + + +NoMethodError (undefined method `date=' for #): + +app/controllers/tasks_controller.rb:21:in `update' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (3.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (63.2ms) +Started PUT "/tasks/5" for ::1 at 2017-03-23 21:54:43 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"zuG4AbdJY/sPBQNCC/OWLZAo5aclq1VqVyqzKKM645uGxJ8cllThybbuB+CDvCGG25dKAq7W2PZ94YG69fRZaw==", "task"=>{"name"=>"Test", "image"=>"", "description"=>"Test your butt", "status"=>"Haven't Started", "complete_by(1i)"=>"2018", "complete_by(2i)"=>"6", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"5"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (1.3ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Haven't Started"], ["updated_at", 2017-03-24 04:54:43 UTC], ["id", 5]] +  (2.7ms) commit transaction +Redirected to http://localhost:3000/tasks/5 +Completed 302 Found in 21ms (ActiveRecord: 4.9ms) + + +Started GET "/tasks/5" for ::1 at 2017-03-23 21:54:43 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"5"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.5ms) +Completed 200 OK in 24ms (Views: 21.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:56:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.3ms) +Completed 200 OK in 34ms (Views: 31.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:56:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 28ms (Views: 25.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-23 21:56:29 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (8.2ms) +Completed 200 OK in 45ms (Views: 41.5ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-23 21:56:32 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.7ms) +Completed 200 OK in 58ms (Views: 53.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-24 09:01:43 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (1.0ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (21.7ms) +Completed 200 OK in 147ms (Views: 120.6ms | ActiveRecord: 1.0ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-24 09:10:21 -0700 + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (194.7ms) +Completed 200 OK in 257ms (Views: 231.6ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 09:10:32 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 25ms (Views: 21.8ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-24 09:11:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 24ms (Views: 21.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 09:11:55 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.0ms) +Completed 200 OK in 52ms (Views: 46.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/5" for ::1 at 2017-03-24 09:11:57 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"5"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.0ms) +Completed 200 OK in 27ms (Views: 22.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 09:12:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 41ms (Views: 35.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-24 09:12:17 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.4ms) +Completed 200 OK in 34ms (Views: 30.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/10/edit" for ::1 at 2017-03-24 09:12:18 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (29.3ms) +Completed 200 OK in 55ms (Views: 49.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 09:12:27 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.4ms) +Completed 200 OK in 40ms (Views: 36.0ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-24 09:12:29 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (16.4ms) +Completed 200 OK in 74ms (Views: 68.1ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-24 09:15:04 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (7.8ms) +Completed 200 OK in 58ms (Views: 53.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 09:15:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.0ms) +Completed 200 OK in 36ms (Views: 30.6ms | ActiveRecord: 0.6ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-24 09:15:15 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 34ms (Views: 29.5ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/4/edit" for ::1 at 2017-03-24 09:15:19 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.5ms) +Completed 200 OK in 30ms (Views: 25.9ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/4" for ::1 at 2017-03-24 09:15:24 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"Z4yTJ5yDQEsbJIxYQdczREb6Vbtk0vz2j1LMAuM5w6PYdz4PL94I2GXZjlDR0QvAp8eneWoAJ2obDQOp5A1AIA==", "task"=>{"name"=>"Laundry", "image"=>"https://survivalofstudentathletes.files.wordpress.com/2015/10/dirty-laundry.jpg", "description"=>"Get your clothes clean!", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"29"}, "commit"=>"Save", "id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.5ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Haven't Started"], ["updated_at", 2017-03-24 16:15:24 UTC], ["id", 4]] +  (1.7ms) commit transaction +Redirected to http://localhost:3000/tasks/4 +Completed 302 Found in 8ms (ActiveRecord: 2.5ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-24 09:15:24 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 21ms (Views: 17.8ms | ActiveRecord: 0.2ms) + + From 7bfb486cc5ba63570807af358dd7418758f0654c Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Fri, 24 Mar 2017 12:52:45 -0700 Subject: [PATCH 29/44] Updated ERB to fix saving problems for complete_by and status --- app/controllers/tasks_controller.rb | 1 - app/views/tasks/edit.html.erb | 2 +- app/views/tasks/show.html.erb | 6 +- db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 348 ++++++++++++++++++++++++++++ 5 files changed, 352 insertions(+), 5 deletions(-) diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 5bce36ee5..eb80a9efc 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -23,7 +23,6 @@ def update if task.save redirect_to task_path end - end def new diff --git a/app/views/tasks/edit.html.erb b/app/views/tasks/edit.html.erb index 297d31db5..4722aa7d7 100644 --- a/app/views/tasks/edit.html.erb +++ b/app/views/tasks/edit.html.erb @@ -15,7 +15,7 @@ <%= f.select :status, ["Haven't Started", "Getting There", "Done!"] %> <%= f.label :complete_by, "Task should be completed by:"%> - <%= f.date_select :complete_by, :start_year => 2017 %> + <%= f.date_field :complete_by %> <%= f.submit "Save" %> diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index d7b9850ae..228107efb 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -3,13 +3,13 @@

<%= @result_task.name%> :

- Description: <%=@result_task.description%>
+ Description: <%= @result_task.description %>

- Status:
+ Status: <%= @result_task.status %>

- Complete by: <%=@result_task.complete_by%>
+ Complete by: <%= @result_task.complete_by %>

diff --git a/db/development.sqlite3 b/db/development.sqlite3 index 50592bc857e1d30aa5b623c7dad7ebe3e36d4236..fa943083e3ef8d717e5107a2c448def10b4a8635 100644 GIT binary patch delta 195 zcmZp8z}WDBae_3X`a~ILM)i#e3;p>yw=!^Zd|=?*&$o`_1Mj5G0s%`oC)Y=@3d=e& zI65}EGjcOPSk{W-lMhF_3YsVwT3VSJTA3Q?85@~c8W~KMj0)#BGB7mPH89pSHgw6) zOI6(58KuL-_+aw3m@6uc4lLXZn$`@B77!X}sy2goaDHxTNk(Q~x&@~R))rU7UmXa=9ZHaV)ZA>#VN2t%=C@hEC>J*AvS0L delta 188 zcmZp8z}WDBae_3X;zSu|M#YT@3;p@I>KV8>J}_`@vVrtoZH z;9`(&WMy#N+!>|A#CUh|wwNnIMJWYEsg2ew+ziszAS1OICiBKR37RMvnpqi|S{a$> bnH!lI8yikeh}D{`9H+{UX6k0&xXpq91`;-# diff --git a/log/development.log b/log/development.log index 9589c0f15..1a23b21a9 100644 --- a/log/development.log +++ b/log/development.log @@ -5139,3 +5139,351 @@ Processing by TasksController#show as HTML Completed 200 OK in 21ms (Views: 17.8ms | ActiveRecord: 0.2ms) +Started GET "/tasks/4/edit" for ::1 at 2017-03-24 09:15:58 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"4"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.8ms) +Completed 200 OK in 29ms (Views: 23.8ms | ActiveRecord: 0.2ms) + + +Started PUT "/tasks/4" for ::1 at 2017-03-24 09:16:03 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"ezBPMRsVh6npqUl51/20uKWYG7hEo1OZcc4Mp8DVXz7Ey+IZqEjPOpdUS3FH+4w8RKXpekpxiAXlkcMMx+HcvQ==", "task"=>{"name"=>"Laundry", "image"=>"https://survivalofstudentathletes.files.wordpress.com/2015/10/dirty-laundry.jpg", "description"=>"Get your clothes clean!", "status"=>"Getting There", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.7ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Getting There"], ["updated_at", 2017-03-24 16:16:03 UTC], ["id", 4]] +  (8.1ms) commit transaction +Redirected to http://localhost:3000/tasks/4 +Completed 302 Found in 14ms (ActiveRecord: 9.0ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-24 09:16:03 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.2ms) +Completed 200 OK in 32ms (Views: 28.2ms | ActiveRecord: 0.2ms) + + + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] +Started GET "/tasks/4/edit" for ::1 at 2017-03-24 09:34:02 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (5.3ms) +Completed 200 OK in 29ms (Views: 25.8ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/4" for ::1 at 2017-03-24 09:34:06 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"2398tCYtpsGuucrrAptmgaE6WtSD6UCNEawYUu/nJO1khNGclXDuUtBEyOOSnV4FQAeoFo07mxGF89f56NOnbg==", "task"=>{"name"=>"Something else", "image"=>"https://survivalofstudentathletes.files.wordpress.com/2015/10/dirty-laundry.jpg", "description"=>"Get your clothes clean!", "status"=>"Getting There", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"4"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.4ms) UPDATE "tasks" SET "name" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["name", "Something else"], ["updated_at", 2017-03-24 16:34:06 UTC], ["id", 4]] +  (0.7ms) commit transaction +Redirected to http://localhost:3000/tasks/4 +Completed 302 Found in 8ms (ActiveRecord: 1.4ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-24 09:34:06 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.2ms) +Completed 200 OK in 20ms (Views: 17.0ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/4/edit" for ::1 at 2017-03-24 09:34:08 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.5ms) +Completed 200 OK in 29ms (Views: 24.9ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/4" for ::1 at 2017-03-24 09:34:13 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"znRDzb4S/+IwOfPWwSiE5jl2IUI9wPCk9OOyf6IbpSJxj+7lDU+3cU7E8d5RLrxi2EvTgDMSKzhgvH3UpS8moQ==", "task"=>{"name"=>"Something else", "image"=>"https://survivalofstudentathletes.files.wordpress.com/2015/10/dirty-laundry.jpg", "description"=>"Get your clothes clean!", "status"=>"Done!", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Done!"], ["updated_at", 2017-03-24 16:34:13 UTC], ["id", 4]] +  (2.3ms) commit transaction +Redirected to http://localhost:3000/tasks/4 +Completed 302 Found in 8ms (ActiveRecord: 2.8ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-24 09:34:13 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 28ms (Views: 25.2ms | ActiveRecord: 0.1ms) + + + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] +Started GET "/tasks" for ::1 at 2017-03-24 10:27:10 -0700 + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (14.0ms) +Completed 200 OK in 254ms (Views: 234.1ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 10:27:13 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.7ms) +Completed 200 OK in 32ms (Views: 23.9ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 10:27:15 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (26.0ms) +Completed 200 OK in 50ms (Views: 43.8ms | ActiveRecord: 0.2ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-24 10:27:28 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"pXmCR/A0VQBiU3VyY1upJbdyrguJrltGmWXaei3NBo+jcRzkz8/y3CalMB4JHB029BZZ2a+kkuCFxwxyiKKSIw==", "task"=>{"name"=>"Work Out", "image"=>"http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg", "description"=>"Get 20 min of exercise in.", "status"=>"Getting There", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"7", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.5ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Getting There"], ["updated_at", 2017-03-24 17:27:28 UTC], ["id", 1]] +  (0.8ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 8ms (ActiveRecord: 1.5ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 10:27:28 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 25ms (Views: 22.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 10:28:07 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.6ms) +Completed 200 OK in 34ms (Views: 28.0ms | ActiveRecord: 0.2ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-24 10:28:14 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"OsdBUiAYCmPBoG53/elaNNL1LKP8b9nqrTTcQfMiM1g8z9/xH+Otv4VWKxuXru4nkZHbcdplEEyxlgpJVk2n9A==", "task"=>{"name"=>"Work Out", "image"=>"http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg", "description"=>"Get 20 min of exercise in.", "status"=>"Done!", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.9ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Done!"], ["updated_at", 2017-03-24 17:28:14 UTC], ["id", 1]] +  (2.2ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 29ms (ActiveRecord: 3.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 10:28:14 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 35ms (Views: 26.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 10:29:28 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.2ms) +Completed 200 OK in 20ms (Views: 18.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 10:29:42 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.1ms) +Completed 200 OK in 31ms (Views: 27.4ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-24 10:29:48 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"YT8SD34/ydEesfHMGm3W1WKDzN5KOcXERb8rOYbAlFlnN4ysQcRuDVpHtKBwKmLGIec7DGwzDGJZHf0xI68A9Q==", "task"=>{"name"=>"Work Out", "image"=>"http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg", "description"=>"Get 20 min of exercise in.", "status"=>"Done!", "complete_by(1i)"=>"2018", "complete_by(2i)"=>"6", "complete_by(3i)"=>"25"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction +  (0.2ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 8ms (ActiveRecord: 0.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 10:29:48 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.6ms) +Completed 200 OK in 27ms (Views: 23.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 10:30:09 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 24ms (Views: 21.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 10:30:31 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 22ms (Views: 19.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 10:30:33 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.2ms) +Completed 200 OK in 29ms (Views: 24.1ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-24 10:32:36 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"2P66eqJa7d2a0hQNhkMuki2EF8rThM3t26clNG2pTy7e9iTZnaFKAd4kUWHsBJqBbuDgGPWOBEvHBfM8yMbbgg==", "task"=>{"name"=>"Work Out", "image"=>"http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg", "description"=>"Get 20 min of exercise in.", "status"=>"Done!", "complete_by(1i)"=>"2020", "complete_by(2i)"=>"3", "complete_by(3i)"=>"24"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.0ms) begin transaction +  (0.0ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 3ms (ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 10:32:36 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 36ms (Views: 31.3ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 10:34:52 -0700 + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/controllers/tasks_controller.rb:43: syntax error, unexpected '(', expecting ')' +e, :description, :complete_by(1i), :image, :status) + ^): + +app/controllers/tasks_controller.rb:43: syntax error, unexpected '(', expecting ')' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (3.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (70.6ms) +Started GET "/tasks" for ::1 at 2017-03-24 12:50:49 -0700 +Started GET "/tasks" for ::1 at 2017-03-24 12:50:49 -0700 + ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations" + ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" +Processing by TasksController#index as HTML +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (13.1ms) + Rendered tasks/index.html.erb within layouts/application (12.7ms) +Completed 200 OK in 341ms (Views: 329.1ms | ActiveRecord: 0.6ms) + + +Completed 200 OK in 348ms (Views: 330.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 12:50:52 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.0ms) +Completed 200 OK in 31ms (Views: 23.0ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 12:50:54 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (1.1ms) +Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.1ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/edit.html.erb:18: syntax error, unexpected ',', expecting ')' +.append=( f.date_field (:user, :complete_by) );@output_buffe + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/edit.html.erb:24: syntax error, unexpected keyword_ensure, expecting end-of-input + ensure + ^): + +app/views/tasks/edit.html.erb:18: syntax error, unexpected ',', expecting ')' +app/views/tasks/edit.html.erb:24: syntax error, unexpected keyword_ensure, expecting end-of-input + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (6.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (74.0ms) +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 12:51:40 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (24.6ms) +Completed 200 OK in 51ms (Views: 46.0ms | ActiveRecord: 0.6ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-24 12:51:50 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"nIhQhGXZ4W4HKWleWjqY50+Njbu0HYsOZzQQ4Tm75aDUrXeZRMRjXL7CbfzSdS9MBDIiHj9gBpJN/yJzb3VfUA==", "task"=>{"name"=>"Work Out", "image"=>"http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg", "description"=>"Get 20 min of exercise in.", "status"=>"Done!", "complete_by"=>"2017-03-31"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.2ms) begin transaction + SQL (0.5ms) UPDATE "tasks" SET "complete_by" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["complete_by", Fri, 31 Mar 2017], ["updated_at", 2017-03-24 19:51:50 UTC], ["id", 1]] +  (0.7ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 10ms (ActiveRecord: 1.7ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 12:51:50 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 22ms (Views: 19.7ms | ActiveRecord: 0.1ms) + + From 7465fe39e974cbdc7e0db4b98e4f923dbc3d2770 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Fri, 24 Mar 2017 12:58:11 -0700 Subject: [PATCH 30/44] Added root 'tasks#index' and delete path in routes --- app/views/tasks/show.html.erb | 6 +- config/routes.rb | 3 + log/development.log | 390 ++++++++++++++++++++++++++++++++++ 3 files changed, 398 insertions(+), 1 deletion(-) diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index 228107efb..a80c43c0c 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -22,6 +22,10 @@

- <%= link_to "Home", tasks_path %> <%= link_to "Edit", edit_task_path %> + <%= link_to "Delete", delete_task_path %> +

+ +

+ <%= link_to "Home", tasks_path %>

diff --git a/config/routes.rb b/config/routes.rb index 931dda5a6..7a1482fa0 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,6 @@ Rails.application.routes.draw do # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html + root 'tasks#index' get '/tasks/new', to: 'tasks#new', as: 'new_task' post '/tasks', to: 'tasks#create' @@ -9,4 +10,6 @@ get '/tasks/:id/edit', to: 'tasks#edit', as: 'edit_task' put '/tasks/:id', to: 'tasks#update' + + delete '/books/:id', to: 'books#destroy', as: 'delete_task' end diff --git a/log/development.log b/log/development.log index 1a23b21a9..13ab338dd 100644 --- a/log/development.log +++ b/log/development.log @@ -5487,3 +5487,393 @@ Processing by TasksController#show as HTML Completed 200 OK in 22ms (Views: 19.7ms | ActiveRecord: 0.1ms) +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 12:52:56 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.0ms) +Completed 200 OK in 30ms (Views: 26.7ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-24 12:53:00 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"yKdwrObEW75YLSLv+OExJlPWkaMme6X+OkQHGX5Z49rOr+4P2T/8YhzbZ4OSpoU1ELJmcQBxbFgm5tER2zZ3dg==", "task"=>{"name"=>"Work Out", "image"=>"http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg", "description"=>"Get 20 min of exercise in.", "status"=>"Done!", "complete_by"=>"2017-03-31"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction +  (0.1ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 5ms (ActiveRecord: 0.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 12:53:00 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 22ms (Views: 19.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 12:53:01 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.7ms) +Completed 200 OK in 29ms (Views: 25.3ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-24 12:53:03 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.3ms) +Completed 200 OK in 27ms (Views: 24.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-24 12:54:03 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (203.9ms) +Completed 500 Internal Server Error in 211ms (ActiveRecord: 0.1ms) + + + +ActionView::Template::Error (undefined local variable or method `delete_task_path' for #<#:0x007fe3547ef970> +Did you mean? edit_task_path): + 23: + 24:

+ 25: <%= link_to "Edit", edit_task_path %> + 26: <%= link_to "Delete", delete_task_path %> + 27:

+ 28: + 29:

+ +app/views/tasks/show.html.erb:26:in `_app_views_tasks_show_html_erb___3011033787556978266_70307180202240' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (3.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.3ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (65.7ms) +Started GET "/tasks/1" for ::1 at 2017-03-24 12:56:03 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.2ms) +Completed 200 OK in 42ms (Views: 26.4ms | ActiveRecord: 0.8ms) + + +Started GET "/books/1" for ::1 at 2017-03-24 12:56:06 -0700 + +ActionController::RoutingError (No route matches [GET] "/books/1"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.7ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [7 times] (14.4ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (2.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (99.9ms) +Started GET "/books" for ::1 at 2017-03-24 12:56:20 -0700 + +ActionController::RoutingError (No route matches [GET] "/books"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [7 times] (2.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (72.9ms) +Started GET "/books/1" for ::1 at 2017-03-24 12:56:24 -0700 + +ActionController::RoutingError (No route matches [GET] "/books/1"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.2ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [7 times] (2.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (74.3ms) +Started GET "/books/" for ::1 at 2017-03-24 12:56:31 -0700 + +ActionController::RoutingError (No route matches [GET] "/books"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.0ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [7 times] (2.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (74.0ms) +Started GET "/tasks/" for ::1 at 2017-03-24 12:56:48 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 39ms (Views: 25.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/" for ::1 at 2017-03-24 12:56:59 -0700 + +ArgumentError (Missing :controller key on routes definition, please check your routes.): + +config/routes.rb:3:in `block in ' +config/routes.rb:1:in `' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (3.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.6ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (65.0ms) +Started GET "/tasks/" for ::1 at 2017-03-24 12:57:12 -0700 + +ArgumentError (Missing :controller key on routes definition, please check your routes.): + +config/routes.rb:3:in `block in ' +config/routes.rb:1:in `' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (3.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (59.1ms) +Started GET "/tasks" for ::1 at 2017-03-24 12:57:15 -0700 + +ActionController::RoutingError (No route matches [GET] "/tasks"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (66.2ms) +Started GET "/" for ::1 at 2017-03-24 12:57:15 -0700 + +ActionController::RoutingError (No route matches [GET] "/"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.4ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.4ms) +Started GET "/" for ::1 at 2017-03-24 12:57:15 -0700 + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.2ms) +ActionController::RoutingError (No route matches [GET] "/"): + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (67.5ms) + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (55.8ms) +Started GET "/" for ::1 at 2017-03-24 12:57:37 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.8ms) +Completed 200 OK in 33ms (Views: 27.1ms | ActiveRecord: 0.7ms) + + From a67fcd2b592a3635ac5ddacd4ae4bfdae7178507 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Fri, 24 Mar 2017 13:11:12 -0700 Subject: [PATCH 31/44] Added delete route, path & confirmation window --- app/controllers/tasks_controller.rb | 5 + app/views/tasks/show.html.erb | 2 +- config/routes.rb | 2 +- db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 274 ++++++++++++++++++++++++++++ 5 files changed, 281 insertions(+), 2 deletions(-) diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index eb80a9efc..cfb9fbb2e 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -25,6 +25,11 @@ def update end end + def destroy + Task.destroy(params[:id]) + redirect_to tasks_path + end + def new @task = Task.new end diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index a80c43c0c..4dbf18597 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -23,7 +23,7 @@

<%= link_to "Edit", edit_task_path %> - <%= link_to "Delete", delete_task_path %> + <%= link_to "Delete", delete_task_path, method: :delete, data: { confirm: "Are you sure?"} %>

diff --git a/config/routes.rb b/config/routes.rb index 7a1482fa0..d184ae9ca 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -11,5 +11,5 @@ get '/tasks/:id/edit', to: 'tasks#edit', as: 'edit_task' put '/tasks/:id', to: 'tasks#update' - delete '/books/:id', to: 'books#destroy', as: 'delete_task' + delete '/tasks/:id', to: 'tasks#destroy', as: 'delete_task' end diff --git a/db/development.sqlite3 b/db/development.sqlite3 index fa943083e3ef8d717e5107a2c448def10b4a8635..c8f43f9c56a51a86528b1c286b9f6a2de18b08c0 100644 GIT binary patch delta 52 zcmV-40L%Y?-~oW(0gxL3DUlpQ0V%Oyq)!0}vjtGF2?7dE;{*({ K09CVeTZ|Oh#}YCC delta 52 zcmV-40L%Y?-~oW(0gxL3Cy^XO0VlCwq)!10vjtGF2?7kVlebyY1c46<3zLmn;{;O+ K3IMZoTZ|ObkP%1# diff --git a/log/development.log b/log/development.log index 13ab338dd..f9b822262 100644 --- a/log/development.log +++ b/log/development.log @@ -5877,3 +5877,277 @@ Processing by TasksController#index as HTML Completed 200 OK in 33ms (Views: 27.1ms | ActiveRecord: 0.7ms) +Started GET "/tasks/2" for ::1 at 2017-03-24 12:58:54 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 30ms (Views: 25.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/11" for ::1 at 2017-03-24 12:59:00 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (4.2ms) +Completed 200 OK in 29ms (Views: 24.5ms | ActiveRecord: 0.2ms) + + +Started GET "/books/11" for ::1 at 2017-03-24 12:59:02 -0700 + +ActionController::RoutingError (No route matches [GET] "/books/11"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (0.9ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [8 times] (2.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (72.5ms) +Started GET "/tasks/11" for ::1 at 2017-03-24 12:59:35 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.2ms) +Completed 200 OK in 24ms (Views: 20.7ms | ActiveRecord: 0.1ms) + + +Started DELETE "/books/11" for ::1 at 2017-03-24 12:59:36 -0700 + +ActionController::RoutingError (uninitialized constant BooksController): + +activesupport (5.0.2) lib/active_support/inflector/methods.rb:268:in `const_get' +activesupport (5.0.2) lib/active_support/inflector/methods.rb:268:in `block in constantize' +activesupport (5.0.2) lib/active_support/inflector/methods.rb:266:in `each' +activesupport (5.0.2) lib/active_support/inflector/methods.rb:266:in `inject' +activesupport (5.0.2) lib/active_support/inflector/methods.rb:266:in `constantize' +actionpack (5.0.2) lib/action_dispatch/http/request.rb:81:in `controller_class' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:44:in `controller' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:30:in `serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:39:in `block in serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `each' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `serve' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:725:in `call' +rack (2.0.1) lib/rack/etag.rb:25:in `call' +rack (2.0.1) lib/rack/conditional_get.rb:38:in `call' +rack (2.0.1) lib/rack/head.rb:12:in `call' +rack (2.0.1) lib/rack/session/abstract/id.rb:222:in `context' +rack (2.0.1) lib/rack/session/abstract/id.rb:216:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/cookies.rb:613:in `call' +activerecord (5.0.2) lib/active_record/migration.rb:553:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call' +activesupport (5.0.2) lib/active_support/callbacks.rb:97:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:36:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.3ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [8 times] (4.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.3ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (82.8ms) +Started GET "/" for ::1 at 2017-03-24 13:00:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (9.3ms) +Completed 200 OK in 29ms (Views: 22.8ms | ActiveRecord: 1.0ms) + + +Started GET "/tasks/11" for ::1 at 2017-03-24 13:00:16 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"11"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.1ms) +Completed 200 OK in 39ms (Views: 34.0ms | ActiveRecord: 0.2ms) + + +Started DELETE "/tasks/11" for ::1 at 2017-03-24 13:00:18 -0700 + +AbstractController::ActionNotFound (The action 'destroy' could not be found for TasksController): + +actionpack (5.0.2) lib/abstract_controller/base.rb:121:in `process' +actionview (5.0.2) lib/action_view/rendering.rb:30:in `process' +actionpack (5.0.2) lib/action_controller/metal.rb:190:in `dispatch' +actionpack (5.0.2) lib/action_controller/metal.rb:262:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:32:in `serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:39:in `block in serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `each' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `serve' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:725:in `call' +rack (2.0.1) lib/rack/etag.rb:25:in `call' +rack (2.0.1) lib/rack/conditional_get.rb:38:in `call' +rack (2.0.1) lib/rack/head.rb:12:in `call' +rack (2.0.1) lib/rack/session/abstract/id.rb:222:in `context' +rack (2.0.1) lib/rack/session/abstract/id.rb:216:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/cookies.rb:613:in `call' +activerecord (5.0.2) lib/active_record/migration.rb:553:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call' +activesupport (5.0.2) lib/active_support/callbacks.rb:97:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:36:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout (0.4ms) +Started DELETE "/tasks/11" for ::1 at 2017-03-24 13:01:23 -0700 +Processing by TasksController#destroy as HTML + Parameters: {"authenticity_token"=>"JXgz8p4jMwOElkqqWvqIfA7ZVA5fSa9fnC9tF7QB+nVtXRTvvz6xMT19TgjStT/XRWb7q9Q0IsO25F+F4s9AhQ==", "id"=>"11"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 11], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.3ms) DELETE FROM "tasks" WHERE "tasks"."id" = ? [["id", 11]] +  (0.7ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 15ms (ActiveRecord: 2.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 13:01:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.5ms) +Completed 200 OK in 27ms (Views: 25.0ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 13:09:58 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 30ms (Views: 28.0ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 13:10:00 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 28ms (Views: 23.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 13:10:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 40ms (Views: 37.2ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/10" for ::1 at 2017-03-24 13:10:17 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"10"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.9ms) +Completed 200 OK in 31ms (Views: 26.0ms | ActiveRecord: 0.1ms) + + +Started DELETE "/tasks/10" for ::1 at 2017-03-24 13:10:20 -0700 +Processing by TasksController#destroy as HTML + Parameters: {"authenticity_token"=>"rdE6e4uWH9QD1w59RRov0JNFSiNK5zG8O6vNBi/1cDjl9B1mqoud5ro8Ct/NVZh72PrlhsGavCARYP+UeTvKyA==", "id"=>"10"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 10], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (2.7ms) DELETE FROM "tasks" WHERE "tasks"."id" = ? [["id", 10]] +  (2.0ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 8ms (ActiveRecord: 5.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 13:10:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 31ms (Views: 26.8ms | ActiveRecord: 0.5ms) + + From d2b4b9118ea20c4a7a08e24ef20421ceab51a437 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Fri, 24 Mar 2017 14:47:52 -0700 Subject: [PATCH 32/44] added mark complete function, new path, new method --- app/assets/stylesheets/application.css | 20 +- app/controllers/tasks_controller.rb | 12 +- app/views/tasks/edit.html.erb | 2 +- app/views/tasks/index.html.erb | 18 +- config/routes.rb | 2 + db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 1987 ++++++++++++++++++++++++ 7 files changed, 2031 insertions(+), 10 deletions(-) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index f425edb98..f43b05616 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -56,18 +56,26 @@ img { /*Styling the all task list area*/ -.task { +.incomplete, .complete { margin: 2px; - background-color: white; display:inline-block; - height: 200px; - width: 30%; + height: 100px; + width: 21%; margin: 20px 1.5%; text-align: center; } -.task P { - margin: 10px; +.incomplete { + background-color: white; +} + +.complete { + background-color: grey; + clear: both; +} + +.complete a { + color: rgb(5, 181, 214); } .main-list { diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index cfb9fbb2e..641fa2a81 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -25,6 +25,16 @@ def update end end + def complete + task = Task.find(params[:id]) + task.completion_date = Date.today + task.status = "Done!" + + if task.save + redirect_to tasks_path + end + end + def destroy Task.destroy(params[:id]) redirect_to tasks_path @@ -45,7 +55,7 @@ def create private def task_params - params.require(:task).permit(:name, :description, :complete_by, :image, :status) + params.require(:task).permit(:name, :description, :complete_by, :image, :status, :completion_date) end end diff --git a/app/views/tasks/edit.html.erb b/app/views/tasks/edit.html.erb index 4722aa7d7..934cbfeab 100644 --- a/app/views/tasks/edit.html.erb +++ b/app/views/tasks/edit.html.erb @@ -12,7 +12,7 @@ <%= f.text_area :description, size: "60x12" %> <%= f.label :status %> - <%= f.select :status, ["Haven't Started", "Getting There", "Done!"] %> + <%= f.select :status, ["Haven't Started", "Getting There", "Almost Done!"] %> <%= f.label :complete_by, "Task should be completed by:"%> <%= f.date_field :complete_by %> diff --git a/app/views/tasks/index.html.erb b/app/views/tasks/index.html.erb index f0b18edc2..560182489 100644 --- a/app/views/tasks/index.html.erb +++ b/app/views/tasks/index.html.erb @@ -3,11 +3,25 @@

TO DO

+ <% @tasks.each do |task| %> -
+
+ <% else %> + <%= "complete" %> + <% end %>" /> +

<%= link_to task.name, task_path(task.id) %>

- <%= task.description %> + <%= form_for task do |f| %> + <%= f.submit "Mark Complete" %> + <% end %> + + <% if task.completion_date != nil %> + <%= link_to "Delete", delete_task_path(task.id), method: :delete, data: { confirm: "Are you sure?"} %> + <% end %> +

<% end %> diff --git a/config/routes.rb b/config/routes.rb index d184ae9ca..f2790e465 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -11,5 +11,7 @@ get '/tasks/:id/edit', to: 'tasks#edit', as: 'edit_task' put '/tasks/:id', to: 'tasks#update' + patch '/tasks/:id', to: 'tasks#complete' + delete '/tasks/:id', to: 'tasks#destroy', as: 'delete_task' end diff --git a/db/development.sqlite3 b/db/development.sqlite3 index c8f43f9c56a51a86528b1c286b9f6a2de18b08c0..d22ae86f45857e09d3d7415dccf053b93739c739 100644 GIT binary patch delta 413 zcmZp8z}WDBae_3X%|sbzMw^WZ3;ktztQnZOk23Nc<(t?tcLBqs$vY!k_!^@bxfx^~6&)QLtrfK=pN-UJG@1N9QkCDx(8|cd%G6NL*woCx z*l@CPR3g7eVp(dQdWk}CNn%k+YRY8k=rBg>$wkp84Egwc8M+vxi-G1aFo=hw7MEn^ zrMu(<357(35+GM0F|8zplZ!#z5TazVYP15-CYxww6%z%ZT_$E$#wL0O#wKP)hA#Pe zsfvwW%s_{QG5{SWtEfKtUqm1u$Vp~a1_pX&rpBfglVc-2#f=OM&2vrnnTj#&jlb2GwMcX9F3;!xM9|6-qKv8v`Lh zF!^|-A;j}yAP1RR8CvQYX0mcIh-!k|tSCNtPmDBB!MPY^1(=(SO!Q0)EDbG8VGc1g K1-pJxf&c)yQ*bo^ delta 677 zcmY+C&ubGw6vro;N`7dys3@+&cq(bx&HhYww+AgP)Po{oP-{ukY33!nx|v;er>*hQ z2E6p9or~A{2NYWHARatLJo^{)Pw3T~vr>v37#_UuJl^Mh-|QS0c8&`ll|t>)-GxH! zaBctTz4BL7E}fwAkI945$(6myCzt)|`0D4XQrWF0hoj#maq?$go`w>8^rdb+a&JnxHJ0i+<5 zl^2C0k*@sO-n>*oN|v*oA}z-GGlIDU#iYj}#od6gex9X-OJSG*4jJYF;1*er;2e#pw@TBG6FZu1OCqMla}LdQ32=%Q>a_B)FB*|{U{)b-I!v5b^C2{f90Og0!zhvJ~^ zPZ{~Fj_Vti<{7qWIO0!xrZjq3tfJZ+5_|3M#m+Rri_Tp3>#v7?hW3j({Bj}YX=$7+u*R!pZWWmdT@aYT(BuRit6CcR) rzb%r^^9@~doTk-q&J+t9o^N}(m9|`;Yd#{Iz@~ZrLsAa(%i6WS5g^G? diff --git a/log/development.log b/log/development.log index f9b822262..784ca8e05 100644 --- a/log/development.log +++ b/log/development.log @@ -6151,3 +6151,1990 @@ Processing by TasksController#index as HTML Completed 200 OK in 31ms (Views: 26.8ms | ActiveRecord: 0.5ms) +Started GET "/tasks/1" for ::1 at 2017-03-24 13:12:43 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.2ms) +Completed 200 OK in 32ms (Views: 27.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 13:13:10 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 45ms (Views: 42.2ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/7" for ::1 at 2017-03-24 13:13:16 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.9ms) +Completed 200 OK in 26ms (Views: 23.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/7" for ::1 at 2017-03-24 13:16:18 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.1ms) +Completed 200 OK in 24ms (Views: 21.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/7" for ::1 at 2017-03-24 13:17:45 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.3ms) +Completed 200 OK in 23ms (Views: 20.5ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/7/edit" for ::1 at 2017-03-24 13:17:46 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (92.6ms) +Completed 500 Internal Server Error in 103ms (ActiveRecord: 0.1ms) + + + +ActionView::Template::Error (undefined method `check_box_tag' for # +Did you mean? check_box): + 18: <%= f.date_field :complete_by %> + 19: + 20: + 21: <%= f.check_box_tag(:complete) %> + 22: <%= f.label_tag(:complete, "Completed") %> + 23: + 24: <%= f.submit "Save" %> + +app/views/tasks/edit.html.erb:21:in `block in _app_views_tasks_edit_html_erb__2797143047552329540_70307123330280' +app/views/tasks/edit.html.erb:3:in `_app_views_tasks_edit_html_erb__2797143047552329540_70307123330280' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (65.5ms) +Started GET "/tasks/7/edit" for ::1 at 2017-03-24 13:18:09 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (17.8ms) +Completed 500 Internal Server Error in 27ms (ActiveRecord: 0.1ms) + + + +ActionView::Template::Error (undefined method `complete' for # +Did you mean? complete_by): + 18: <%= f.date_field :complete_by %> + 19: + 20: + 21: <%= f.check_box(:complete) %> + 22: <%= f.label_tag(:complete, "Completed") %> + 23: + 24: <%= f.submit "Save" %> + +app/views/tasks/edit.html.erb:21:in `block in _app_views_tasks_edit_html_erb__2797143047552329540_70307122492620' +app/views/tasks/edit.html.erb:3:in `_app_views_tasks_edit_html_erb__2797143047552329540_70307122492620' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (57.8ms) +Started GET "/tasks/7/edit" for ::1 at 2017-03-24 13:18:47 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (10.0ms) +Completed 500 Internal Server Error in 30ms (ActiveRecord: 0.7ms) + + + +ActionView::Template::Error (undefined method `complete' for # +Did you mean? complete_by): + 18: <%= f.date_field :complete_by %> + 19: + 20: + 21: <%= f.check_box(:complete) %> + 22: <%= f.label_tag(:complete, "Completed") %> + 23: + 24: <%= f.submit "Save" %> + +app/views/tasks/edit.html.erb:21:in `block in _app_views_tasks_edit_html_erb__2797143047552329540_70307154904620' +app/views/tasks/edit.html.erb:3:in `_app_views_tasks_edit_html_erb__2797143047552329540_70307154904620' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (60.3ms) +Started GET "/tasks" for ::1 at 2017-03-24 13:18:56 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.9ms) +Completed 200 OK in 19ms (Views: 17.0ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 13:18:57 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.2ms) +Completed 200 OK in 32ms (Views: 27.7ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 13:18:59 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (13.5ms) +Completed 500 Internal Server Error in 24ms (ActiveRecord: 0.1ms) + + + +ActionView::Template::Error (undefined method `complete' for # +Did you mean? complete_by): + 18: <%= f.date_field :complete_by %> + 19: + 20: + 21: <%= f.check_box(:complete) %> + 22: <%= f.label_tag(:complete, "Completed") %> + 23: + 24: <%= f.submit "Save" %> + +app/views/tasks/edit.html.erb:21:in `block in _app_views_tasks_edit_html_erb__2797143047552329540_70307166196180' +app/views/tasks/edit.html.erb:3:in `_app_views_tasks_edit_html_erb__2797143047552329540_70307166196180' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (60.1ms) +Started GET "/" for ::1 at 2017-03-24 13:20:45 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (172.8ms) +Completed 500 Internal Server Error in 182ms (ActiveRecord: 0.7ms) + + + +ActionView::Template::Error (undefined local variable or method `f' for #<#:0x007fe351cf1638>): + 9:

+ 10: <%= task.description %> + 11: + 12: <%= f.check_box_tag(:complete) %> + 13: <%= f.label_tag(:complete, "Completed") %> + 14:

+ 15:
+ +app/views/tasks/index.html.erb:12:in `block in _app_views_tasks_index_html_erb___230971897979905211_70307153416240' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb___230971897979905211_70307153416240' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (56.5ms) +Started GET "/" for ::1 at 2017-03-24 13:20:57 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (2.8ms) +Completed 200 OK in 22ms (Views: 20.1ms | ActiveRecord: 0.2ms) + + +Started GET "/" for ::1 at 2017-03-24 13:21:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.0ms) +Completed 200 OK in 29ms (Views: 26.5ms | ActiveRecord: 0.4ms) + + +Started GET "/" for ::1 at 2017-03-24 13:27:00 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.8ms) +Completed 500 Internal Server Error in 7ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_ensure, expecting keyword_end + ensure + ^): + +app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_ensure, expecting keyword_end + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (57.2ms) +Started GET "/" for ::1 at 2017-03-24 13:27:30 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.1ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 9:

+ 10: <%= task.description %> + 11:

+ 12: <%= form_for @form do |f| %> + 13: <%= f.label "Mark Complete" %> + 14: <%= f.check_box(:complete) %> + 15: <% end %> + +app/views/tasks/index.html.erb:12:in `block in _app_views_tasks_index_html_erb___230971897979905211_70307154814420' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb___230971897979905211_70307154814420' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (60.6ms) +Started GET "/" for ::1 at 2017-03-24 13:27:55 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.6ms) +Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.4ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 9:

+ 10: <%= task.description %> + 11:

+ 12: <%= form_for @task do |f| %> + 13: <%= f.label "Mark Complete" %> + 14: <%= f.check_box(:complete) %> + 15: <% end %> + +app/views/tasks/index.html.erb:12:in `block in _app_views_tasks_index_html_erb___230971897979905211_70307166165940' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb___230971897979905211_70307166165940' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (57.4ms) +Started GET "/" for ::1 at 2017-03-24 13:28:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (11.5ms) +Completed 500 Internal Server Error in 20ms (ActiveRecord: 0.2ms) + + + +ActionView::Template::Error (undefined method `complete' for # +Did you mean? complete_by): + 11:

+ 12: <%= form_for task do |f| %> + 13: <%= f.label "Mark Complete" %> + 14: <%= f.check_box(:complete) %> + 15: <% end %> + 16:
+ 17: <% end %> + +app/views/tasks/index.html.erb:14:in `block (2 levels) in _app_views_tasks_index_html_erb___230971897979905211_70307174339540' +app/views/tasks/index.html.erb:12:in `block in _app_views_tasks_index_html_erb___230971897979905211_70307174339540' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb___230971897979905211_70307174339540' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (60.5ms) +Started GET "/" for ::1 at 2017-03-24 13:29:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:14: syntax error, unexpected tSTRING_BEG, expecting ')' + f.check_box(:completion_date") );@output_buffer.safe_append + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:21: syntax error, unexpected tCONSTANT, expecting ')' +uffer.append=( link_to "Create New Task", new_task_path, cla + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:21: syntax error, unexpected tIDENTIFIER, expecting ')' + new_task_path, class: "bottom-button" );@output_buffer.safe + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:21: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' +k_path, class: "bottom-button" );@output_buffer.safe_append= + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:21: unterminated string meets end of file): + +app/views/tasks/index.html.erb:14: syntax error, unexpected tSTRING_BEG, expecting ')' +app/views/tasks/index.html.erb:21: syntax error, unexpected tCONSTANT, expecting ')' +app/views/tasks/index.html.erb:21: syntax error, unexpected tIDENTIFIER, expecting ')' +app/views/tasks/index.html.erb:21: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' +app/views/tasks/index.html.erb:21: unterminated string meets end of file + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (57.8ms) +Started GET "/" for ::1 at 2017-03-24 13:29:45 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (11.0ms) +Completed 200 OK in 30ms (Views: 28.1ms | ActiveRecord: 0.2ms) + + +Started GET "/" for ::1 at 2017-03-24 13:30:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (14.1ms) +Completed 200 OK in 32ms (Views: 26.6ms | ActiveRecord: 1.0ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 13:31:07 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.5ms) +Completed 200 OK in 27ms (Views: 23.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 13:31:18 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (13.2ms) +Completed 200 OK in 34ms (Views: 29.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 13:33:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.9ms) +Completed 500 Internal Server Error in 7ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:12: syntax error, unexpected tLABEL +fer.append= form_for, method: :patch task do |f| @output_bu + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_ensure, expecting end-of-input + ensure + ^): + +app/views/tasks/index.html.erb:12: syntax error, unexpected tLABEL +app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_ensure, expecting end-of-input + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (58.8ms) +Started GET "/tasks" for ::1 at 2017-03-24 13:33:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.7ms) +Completed 500 Internal Server Error in 7ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:12: syntax error, unexpected tLABEL +fer.append= form_for, method: :patch, task do |f| @output_b + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_ensure, expecting end-of-input + ensure + ^): + +app/views/tasks/index.html.erb:12: syntax error, unexpected tLABEL +app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_ensure, expecting end-of-input + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (6.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (63.6ms) +Started POST "/__web_console/repl_sessions/cb5e9d7b13b913ebf8e59d1623a8d28e/trace" for ::1 at 2017-03-24 13:35:09 -0700 +Started GET "/tasks" for ::1 at 2017-03-24 13:35:58 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.8ms) +Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:12: syntax error, unexpected tLABEL +fer.append= form_for, method: :patch task do |f| @output_bu + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_ensure, expecting end-of-input + ensure + ^): + +app/views/tasks/index.html.erb:12: syntax error, unexpected tLABEL +app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_ensure, expecting end-of-input + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (57.3ms) +Started GET "/tasks" for ::1 at 2017-03-24 13:39:16 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.9ms) +Completed 500 Internal Server Error in 7ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:13: syntax error, unexpected tLABEL +fer.append= form_for, method: :patch task do |f| @output_bu + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:14: syntax error, unexpected tSTRING_BEG, expecting ')' +d=( f.label :completion_date "Mark Complete" );@output_buffe + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:25: syntax error, unexpected keyword_ensure, expecting end-of-input + ensure + ^): + +app/views/tasks/index.html.erb:13: syntax error, unexpected tLABEL +app/views/tasks/index.html.erb:14: syntax error, unexpected tSTRING_BEG, expecting ')' +app/views/tasks/index.html.erb:25: syntax error, unexpected keyword_ensure, expecting end-of-input + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.2ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (65.1ms) +Started GET "/tasks" for ::1 at 2017-03-24 13:39:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.7ms) +Completed 500 Internal Server Error in 7ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:13: syntax error, unexpected tLABEL +fer.append= form_for, method: :patch task do |f| @output_bu + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:25: syntax error, unexpected keyword_ensure, expecting end-of-input + ensure + ^): + +app/views/tasks/index.html.erb:13: syntax error, unexpected tLABEL +app/views/tasks/index.html.erb:25: syntax error, unexpected keyword_ensure, expecting end-of-input + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (69.1ms) +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 13:40:45 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (2.5ms) +Completed 200 OK in 41ms (Views: 28.0ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 13:40:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.8ms) +Completed 500 Internal Server Error in 7ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:13: syntax error, unexpected tLABEL +fer.append= form_for, method: :patch task do |f| @output_bu + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:26: syntax error, unexpected keyword_ensure, expecting end-of-input + ensure + ^): + +app/views/tasks/index.html.erb:13: syntax error, unexpected tLABEL +app/views/tasks/index.html.erb:26: syntax error, unexpected keyword_ensure, expecting end-of-input + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (6.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.4ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (85.7ms) +Started GET "/" for ::1 at 2017-03-24 13:40:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.4ms) +Completed 500 Internal Server Error in 8ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:13: syntax error, unexpected tLABEL +fer.append= form_for, method: :patch task do |f| @output_bu + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:26: syntax error, unexpected keyword_ensure, expecting end-of-input + ensure + ^): + +app/views/tasks/index.html.erb:13: syntax error, unexpected tLABEL +app/views/tasks/index.html.erb:26: syntax error, unexpected keyword_ensure, expecting end-of-input + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.3ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (7.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (71.0ms) +Started GET "/" for ::1 at 2017-03-24 13:41:53 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.3ms) +Completed 200 OK in 26ms (Views: 23.2ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 13:41:56 -0700 + +ActionController::RoutingError (No route matches [PATCH] "/tasks/1"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [8 times] (2.3ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.2ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.6ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (86.1ms) +Started PATCH "/tasks/1" for ::1 at 2017-03-24 13:42:57 -0700 + +AbstractController::ActionNotFound (The action 'complete' could not be found for TasksController): + +actionpack (5.0.2) lib/abstract_controller/base.rb:121:in `process' +actionview (5.0.2) lib/action_view/rendering.rb:30:in `process' +actionpack (5.0.2) lib/action_controller/metal.rb:190:in `dispatch' +actionpack (5.0.2) lib/action_controller/metal.rb:262:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:32:in `serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:39:in `block in serve' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `each' +actionpack (5.0.2) lib/action_dispatch/journey/router.rb:26:in `serve' +actionpack (5.0.2) lib/action_dispatch/routing/route_set.rb:725:in `call' +rack (2.0.1) lib/rack/etag.rb:25:in `call' +rack (2.0.1) lib/rack/conditional_get.rb:38:in `call' +rack (2.0.1) lib/rack/head.rb:12:in `call' +rack (2.0.1) lib/rack/session/abstract/id.rb:222:in `context' +rack (2.0.1) lib/rack/session/abstract/id.rb:216:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/cookies.rb:613:in `call' +activerecord (5.0.2) lib/active_record/migration.rb:553:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call' +activesupport (5.0.2) lib/active_support/callbacks.rb:97:in `__run_callbacks__' +activesupport (5.0.2) lib/active_support/callbacks.rb:750:in `_run_call_callbacks' +activesupport (5.0.2) lib/active_support/callbacks.rb:90:in `run_callbacks' +actionpack (5.0.2) lib/action_dispatch/middleware/callbacks.rb:36:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb within rescues/layout (0.5ms) +Started PATCH "/tasks/1" for ::1 at 2017-03-24 13:43:03 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"X3nReXPHJwi8lZ+Y434+6iU4lxxIbrl/MX4YaKnnR3oXXPZkUtqlOgV+mzprMYlBboc4ucMTNOMbtSr6/yn9ig==", "task"=>{"completion_date"=>"1"}, "commit"=>"Save", "id"=>"1"} +No template found for TasksController#complete, rendering head :no_content +Completed 204 No Content in 62ms (ActiveRecord: 0.0ms) + + +Started PATCH "/tasks/8" for ::1 at 2017-03-24 13:43:10 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"X3nReXPHJwi8lZ+Y434+6iU4lxxIbrl/MX4YaKnnR3oXXPZkUtqlOgV+mzprMYlBboc4ucMTNOMbtSr6/yn9ig==", "task"=>{"completion_date"=>"1"}, "commit"=>"Save", "id"=>"8"} +No template found for TasksController#complete, rendering head :no_content +Completed 204 No Content in 73ms (ActiveRecord: 0.0ms) + + +Started GET "/" for ::1 at 2017-03-24 13:44:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (10.8ms) +Completed 200 OK in 42ms (Views: 36.6ms | ActiveRecord: 0.6ms) + + +Started PATCH "/tasks/8" for ::1 at 2017-03-24 13:44:33 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"J5m38gneu+UTProSeUHHol4H3iwl6fH5A13BVsxwE5tvvJDvKMM516rVvrDxDnAJFbhxia6UfGUplvPEmr6paw==", "task"=>{"completion_date"=>"1"}, "commit"=>"Save", "id"=>"8"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 8], ["LIMIT", 1]] +No template found for TasksController#complete, rendering head :no_content +Completed 204 No Content in 71ms (ActiveRecord: 0.2ms) + + + Task Load (1.6ms) SELECT "tasks".* FROM "tasks" + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Started GET "/" for ::1 at 2017-03-24 13:48:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (12.8ms) +Completed 200 OK in 43ms (Views: 36.7ms | ActiveRecord: 0.9ms) + + +Started PATCH "/tasks/4" for ::1 at 2017-03-24 13:48:26 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"k2FV/PRNsLypgyPonNt0FdledhQQcrmgeG2LuBACPmvbRHLh1VAyjhBoJ0oUlMO+kuHZsZsPNDxSprkqRsyEmw==", "task"=>{"completion_date"=>"1"}, "commit"=>"Save", "id"=>"4"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] +No template found for TasksController#complete, rendering head :no_content +Completed 204 No Content in 69ms (ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 13:51:58 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"k2FV/PRNsLypgyPonNt0FdledhQQcrmgeG2LuBACPmvbRHLh1VAyjhBoJ0oUlMO+kuHZsZsPNDxSprkqRsyEmw==", "task"=>{"completion_date"=>"1"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +No template found for TasksController#complete, rendering head :no_content +Completed 204 No Content in 75ms (ActiveRecord: 1.4ms) + + +Started GET "/" for ::1 at 2017-03-24 13:52:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.4ms) +Completed 500 Internal Server Error in 18ms (ActiveRecord: 0.3ms) + + + +ActionView::Template::Error (undefined method `merge' for Fri, 24 Mar 2017:Date): + 12:

+ 13: <%= form_for task do |f| %> + 14: <%= f.label :completion_date, "Mark Complete" %> + 15: <%= f.check_box(:completion_date, checked_value = Date.today, unchecked_value = nil) %> + 16: <%= f.submit "Save" %> + 17: <% end %> + 18:

+ +app/views/tasks/index.html.erb:15:in `block (2 levels) in _app_views_tasks_index_html_erb___230971897979905211_70307151414640' +app/views/tasks/index.html.erb:13:in `block in _app_views_tasks_index_html_erb___230971897979905211_70307151414640' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb___230971897979905211_70307151414640' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (15.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (2.5ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (118.4ms) +Started GET "/tasks/1" for ::1 at 2017-03-24 13:55:14 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 55ms (Views: 31.2ms | ActiveRecord: 1.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 13:55:17 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.9ms) +Completed 500 Internal Server Error in 16ms (ActiveRecord: 0.2ms) + + + +ActionView::Template::Error (undefined method `merge' for Fri, 24 Mar 2017:Date): + 12:

+ 13: <%= form_for task do |f| %> + 14: <%= f.label :completion_date, "Mark Complete" %> + 15: <%= f.check_box(:completion_date, checked_value = Date.today, unchecked_value = nil) %> + 16: <%= f.submit "Save" %> + 17: <% end %> + 18:

+ +app/views/tasks/index.html.erb:15:in `block (2 levels) in _app_views_tasks_index_html_erb___230971897979905211_70307171796820' +app/views/tasks/index.html.erb:13:in `block in _app_views_tasks_index_html_erb___230971897979905211_70307171796820' +app/views/tasks/index.html.erb:6:in `_app_views_tasks_index_html_erb___230971897979905211_70307171796820' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.9ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (61.8ms) +Started GET "/tasks" for ::1 at 2017-03-24 13:58:28 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.2ms) +Completed 200 OK in 30ms (Views: 27.5ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/3" for ::1 at 2017-03-24 13:58:32 -0700 + +ActionController::RoutingError (No route matches [PATCH] "/tasks/3"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.2ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [8 times] (2.4ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.6ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.3ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (80.7ms) +Started GET "/tasks/9" for ::1 at 2017-03-24 13:59:43 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.7ms) +Completed 200 OK in 29ms (Views: 24.8ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/9/edit" for ::1 at 2017-03-24 13:59:45 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.5ms) +Completed 200 OK in 31ms (Views: 24.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-24 13:59:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 29ms (Views: 26.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-24 14:00:12 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.3ms) +Completed 200 OK in 49ms (Views: 42.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/4/edit" for ::1 at 2017-03-24 14:00:13 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.1ms) +Completed 200 OK in 36ms (Views: 31.9ms | ActiveRecord: 0.1ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:00:23 -0700 + +ActionController::RoutingError (No route matches [PATCH] "/tasks/1"): + +actionpack (5.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call' +web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch' +web-console (3.4.0) lib/web_console/middleware.rb:18:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.0.2) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.0.2) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.0.2) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/request_id.rb:24:in `call' +rack (2.0.1) lib/rack/method_override.rb:22:in `call' +rack (2.0.1) lib/rack/runtime.rb:22:in `call' +activesupport (5.0.2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.0.2) lib/action_dispatch/middleware/static.rb:136:in `call' +rack (2.0.1) lib/rack/sendfile.rb:111:in `call' +railties (5.0.2) lib/rails/engine.rb:522:in `call' +puma (3.8.2) lib/puma/configuration.rb:224:in `call' +puma (3.8.2) lib/puma/server.rb:600:in `handle_request' +puma (3.8.2) lib/puma/server.rb:435:in `process_client' +puma (3.8.2) lib/puma/server.rb:299:in `block in run' +puma (3.8.2) lib/puma/thread_pool.rb:120:in `block in spawn_thread' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.3ms) + Rendered collection of /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_route.html.erb [8 times] (2.5ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.1ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.4ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (77.1ms) +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:02:46 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"zQpWtjh/rdvAVgsZJee1WqBBgjFzVcusQV8NOzV6UOWFL3GrGWIv6Xm9D7utqALx6/4tlPgoRjBrlD+pY7TqFQ==", "task"=>{"completion_date"=>"2017-03-24"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +No template found for TasksController#complete, rendering head :no_content +Completed 204 No Content in 73ms (ActiveRecord: 1.1ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:02:48 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.6ms) +Completed 200 OK in 41ms (Views: 37.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:02:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (11.1ms) +Completed 200 OK in 50ms (Views: 47.3ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/2" for ::1 at 2017-03-24 14:02:52 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"WnakmlRzL3r65qVbRZPKjHCfjlenKTkVYAtgHW4uxL6IpHPBOnxvsQR1fk8IJM+DgVtT9G1Fqe5FvGcAMpFOKg==", "commit"=>"Complete", "id"=>"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] +No template found for TasksController#complete, rendering head :no_content +Completed 204 No Content in 74ms (ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:06:56 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (10.8ms) +Completed 200 OK in 33ms (Views: 27.3ms | ActiveRecord: 0.7ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:06:57 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"clP+sOhhZavpEf9sY0toNgrU6sFGXd2m1n3jq9RCQ9A6dtmtyXznmVD6+87rBN+dQWtFZM0gUDr8ttE5goz5IA==", "commit"=>"Complete", "id"=>"1"} + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Redirected to http://localhost:3000/tasks +Completed 302 Found in 4ms (ActiveRecord: 0.6ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:06:57 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.7ms) +Completed 200 OK in 34ms (Views: 30.1ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:11:41 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.9ms) +Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:9: void value expression +ppend=( return "incomplete" );@output_buffer.safe_append=' + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:11: void value expression +.append=( return "complete" );@output_buffer.safe_append='" + ^ +/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:29: syntax error, unexpected keyword_ensure, expecting keyword_end + ensure + ^): + +app/views/tasks/index.html.erb:9: void value expression +app/views/tasks/index.html.erb:11: void value expression +app/views/tasks/index.html.erb:29: syntax error, unexpected keyword_ensure, expecting keyword_end + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.0ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (69.8ms) +Started GET "/tasks" for ::1 at 2017-03-24 14:12:11 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.9ms) +Completed 500 Internal Server Error in 7ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/lynntrickey/Documents/ada/c7-stacks/rails/TaskList/app/views/tasks/index.html.erb:29: syntax error, unexpected keyword_ensure, expecting keyword_end + ensure + ^): + +app/views/tasks/index.html.erb:29: syntax error, unexpected keyword_ensure, expecting keyword_end + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.3ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (72.0ms) +Started GET "/tasks" for ::1 at 2017-03-24 14:12:55 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (9.8ms) +Completed 200 OK in 90ms (Views: 87.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:13:58 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.6ms) +Completed 200 OK in 26ms (Views: 23.6ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:14:17 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.3ms) +Completed 200 OK in 37ms (Views: 32.8ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:14:24 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"j/VSTDM++rwhiuBChVekGNsnexM+pRZMoPDHYNfnZqHH0HVREiN4jphh5OANGBOzkJjUtrXYm9CKO/XygSncUQ==", "commit"=>"Complete", "id"=>"1"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Redirected to http://localhost:3000/tasks +Completed 302 Found in 2ms (ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:14:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (9.1ms) +Completed 200 OK in 33ms (Views: 30.1ms | ActiveRecord: 0.2ms) + + + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:16:19 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"M55RlBcvIDWYcYL6Fr8PCZkLizNP029LK040DsuaR5p7u3aJNjKiByGahlie8Lii0rQklsSu4tcBhQacnVT9ag==", "commit"=>"Complete", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Redirected to http://localhost:3000/tasks +Completed 302 Found in 2ms (ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:16:19 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (10.4ms) +Completed 200 OK in 33ms (Views: 30.1ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:16:30 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.2ms) +Completed 200 OK in 24ms (Views: 21.7ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:16:31 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"xxZEW0URDmHquKX281ioQ5gWLNlyL5U2tHpXwy0KF+yPM2NGZAyMU1NToVR7Fx/o06mDfPlSGKqesWVRe8StHA==", "commit"=>"Complete", "id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Redirected to http://localhost:3000/tasks +Completed 302 Found in 2ms (ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:16:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.8ms) +Completed 200 OK in 33ms (Views: 30.9ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:17:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.0ms) +Completed 200 OK in 24ms (Views: 20.8ms | ActiveRecord: 0.3ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:17:51 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"gERypcPvNIxgIjXFACj0rZU+K3Y5KxqAcrj27WdiLz3IYVW44vK2vtnJMWeIZ0MG3oGE07JWlxxYc8R/MayVzQ==", "commit"=>"Complete", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Redirected to http://localhost:3000/tasks +Completed 302 Found in 2ms (ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:17:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.8ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (8.2ms) +Completed 200 OK in 32ms (Views: 28.5ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks/8" for ::1 at 2017-03-24 14:17:56 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"8"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 8], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (4.4ms) +Completed 200 OK in 31ms (Views: 27.5ms | ActiveRecord: 0.1ms) + + +Started DELETE "/tasks/8" for ::1 at 2017-03-24 14:18:02 -0700 +Processing by TasksController#destroy as HTML + Parameters: {"authenticity_token"=>"nz9nUyIIWenQb7C/KH33uhVwEYV1FQo0XJIlLG7rtuXXGkBOAxXb22mEtB2gMkARXs++IP5oh6h2WRe+OCUMFQ==", "id"=>"8"} + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 8], ["LIMIT", 1]] +  (0.2ms) begin transaction + SQL (0.7ms) DELETE FROM "tasks" WHERE "tasks"."id" = ? [["id", 8]] +  (3.6ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 16ms (ActiveRecord: 4.8ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:18:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (12.4ms) +Completed 200 OK in 41ms (Views: 37.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:18:07 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.6ms) +Completed 200 OK in 30ms (Views: 26.9ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 14:18:09 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.1ms) +Completed 200 OK in 40ms (Views: 34.0ms | ActiveRecord: 0.2ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-24 14:18:12 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"NQdi0PFLz7dzD26J4oldMnVP/jKH4GSPxiZCl55/8wYzD/xzzrBoazf5K+WIzukhNisJ4KHqrSnahJSfOxBnqg==", "task"=>{"name"=>"Work Out", "image"=>"http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg", "description"=>"Get 20 min of exercise in.", "status"=>"Haven't Started", "complete_by"=>"2017-03-31"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.0ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Haven't Started"], ["updated_at", 2017-03-24 21:18:12 UTC], ["id", 1]] +  (2.4ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 7ms (ActiveRecord: 2.9ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:18:12 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.3ms) +Completed 200 OK in 23ms (Views: 20.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:18:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (10.3ms) +Completed 200 OK in 32ms (Views: 30.1ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:18:47 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"RcauX8dMY/odC03pucsd0QKTt/qS5K0uLzn7OjZrVLrrHok2cBcq0sCy4VpSklz3j2sxYRwNtY78KFA8K2owqA==", "commit"=>"Complete", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Redirected to http://localhost:3000/tasks +Completed 302 Found in 1ms (ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:18:47 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (8.3ms) +Completed 200 OK in 37ms (Views: 34.6ms | ActiveRecord: 0.2ms) + + + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +Started GET "/tasks" for ::1 at 2017-03-24 14:20:18 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (10.6ms) +Completed 200 OK in 32ms (Views: 25.8ms | ActiveRecord: 0.7ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:20:20 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"iPQkLCyGrkWje6E9vKPlFGjGtfNuetjm/oCmJL30wZTA0QMxDZssdxqQpZ807FK/I3kaVuUHVXrUS5S26zp7ZA==", "commit"=>"Complete", "id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (1.3ms) UPDATE "tasks" SET "completion_date" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["completion_date", Fri, 24 Mar 2017], ["updated_at", 2017-03-24 21:20:20 UTC], ["id", 1]] +  (4.8ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 11ms (ActiveRecord: 6.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:20:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (13.1ms) +Completed 200 OK in 64ms (Views: 51.3ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:20:57 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (10.6ms) +Completed 200 OK in 43ms (Views: 36.3ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:21:30 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (8.8ms) +Completed 200 OK in 45ms (Views: 42.0ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:22:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (9.5ms) +Completed 200 OK in 45ms (Views: 42.5ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:22:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.0ms) +Completed 200 OK in 34ms (Views: 32.1ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:22:20 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.5ms) +Completed 200 OK in 27ms (Views: 23.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:23:13 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 34ms (Views: 17.6ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:23:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (9.2ms) +Completed 200 OK in 40ms (Views: 37.6ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:23:17 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"smIilgixQuTtqaQybNZ/2k2qW0o5y9LPlsuhsb178HAcugX/v+oLzDAQCIGHjz78wFLd0bciym9F2gq3oHqUYg==", "commit"=>"Complete", "id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.8ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Done!"], ["updated_at", 2017-03-24 21:23:17 UTC], ["id", 1]] +  (1.2ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 8ms (ActiveRecord: 2.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:23:17 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (8.9ms) +Completed 200 OK in 35ms (Views: 30.1ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:23:18 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 27ms (Views: 24.7ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 14:23:21 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.5ms) +Completed 200 OK in 34ms (Views: 27.4ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-24 14:23:25 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"Xz4dW2Ac8CwD3OjNJbizoTqNSXgYeQVbTCX/2Tq3k9RZNoP4X+dX8EcqraFP/weyeem+qj5zzP1QhynRn9gHeA==", "task"=>{"name"=>"Work Out", "image"=>"http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg", "description"=>"Get 20 min of exercise in.", "status"=>"Haven't Started", "complete_by"=>"2017-03-31"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (1.3ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Haven't Started"], ["updated_at", 2017-03-24 21:23:25 UTC], ["id", 1]] +  (1.4ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 11ms (ActiveRecord: 2.9ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:23:25 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 25ms (Views: 20.3ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 14:23:31 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.3ms) +Completed 200 OK in 30ms (Views: 26.7ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:23:42 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 45ms (Views: 42.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:23:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (10.9ms) +Completed 200 OK in 42ms (Views: 39.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:24:12 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.5ms) +Completed 200 OK in 24ms (Views: 21.9ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:24:13 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"Vu+DP8YhC8gjKO/sn+hsD1Nohk/a1s0zsXxTJQhW7rkeyqQi5zyJ+prD604Xp9ukGNcp6lGrQK+bt2G3XphUSQ==", "commit"=>"Mark Complete", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.0ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Done!"], ["updated_at", 2017-03-24 21:24:13 UTC], ["id", 1]] +  (7.6ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 11ms (ActiveRecord: 8.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:24:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (13.7ms) +Completed 200 OK in 56ms (Views: 51.3ms | ActiveRecord: 0.5ms) + + +Started PATCH "/tasks/2" for ::1 at 2017-03-24 14:24:15 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"07ZoHGexS2mehX0mZSb7p9UXPVnWb8TC00tp7yc2HuWbk08BRqzJWydueYTtaUwMnqiS/F0SSV75gFt9cfikFQ==", "commit"=>"Mark Complete", "id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "completion_date" = ?, "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["completion_date", Fri, 24 Mar 2017], ["status", "Done!"], ["updated_at", 2017-03-24 21:24:15 UTC], ["id", 2]] +  (2.4ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 7ms (ActiveRecord: 2.9ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:24:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.8ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (11.3ms) +Completed 200 OK in 45ms (Views: 41.3ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-24 14:25:47 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.9ms) +Completed 200 OK in 30ms (Views: 25.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/3/edit" for ::1 at 2017-03-24 14:25:52 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"3"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (5.1ms) +Completed 200 OK in 28ms (Views: 25.1ms | ActiveRecord: 0.2ms) + + +Started PUT "/tasks/3" for ::1 at 2017-03-24 14:26:00 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"PhqZoSGtF7Ws7t6P2jeohle+/sBfqnhgzdqvc32/Lox9OyadR5nvRpXN1mIWCUMjpBY7nAwx+MgCMWfVi6XzEA==", "task"=>{"name"=>"Shopping", "image"=>"http://bizzee.net/wp-content/uploads/2014/03/Bizzee-Grocery-Shopping.jpg", "description"=>"Buy all the groceries for this week.", "status"=>"Getting There", "complete_by"=>"2017-03-25"}, "commit"=>"Save", "id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "status" = ?, "complete_by" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Getting There"], ["complete_by", Sat, 25 Mar 2017], ["updated_at", 2017-03-24 21:26:00 UTC], ["id", 3]] +  (7.9ms) commit transaction +Redirected to http://localhost:3000/tasks/3 +Completed 302 Found in 13ms (ActiveRecord: 8.5ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-24 14:26:00 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.6ms) +Completed 200 OK in 39ms (Views: 33.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:26:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.3ms) +Completed 200 OK in 32ms (Views: 30.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:28:22 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 32ms (Views: 28.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 14:28:24 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (3.2ms) +Completed 200 OK in 32ms (Views: 26.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:28:38 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.4ms) +Completed 200 OK in 55ms (Views: 49.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 14:28:39 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.3ms) +Completed 200 OK in 44ms (Views: 36.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:28:43 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.6ms) +Completed 200 OK in 45ms (Views: 40.4ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1/edit" for ::1 at 2017-03-24 14:28:46 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.9ms) +Completed 200 OK in 48ms (Views: 41.8ms | ActiveRecord: 0.1ms) + + +Started PUT "/tasks/1" for ::1 at 2017-03-24 14:28:51 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"yI0pn8ZY+0S6BPkV9nRxzEI4vXaHnnCHYFhjBYzGIcDOhbc8+aNcmP7yvHmcM8XfAVxKpKGUuSF8+rUNKam1bA==", "task"=>{"name"=>"Work Out", "image"=>"http://az616578.vo.msecnd.net/files/2016/06/11/636012661282390215994833735_workout1.jpg", "description"=>"Get 20 min of exercise in.", "status"=>"Haven't Started", "complete_by"=>"2017-03-31"}, "commit"=>"Save", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.0ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Haven't Started"], ["updated_at", 2017-03-24 21:28:51 UTC], ["id", 1]] +  (2.3ms) commit transaction +Redirected to http://localhost:3000/tasks/1 +Completed 302 Found in 6ms (ActiveRecord: 2.8ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:28:51 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.7ms) +Completed 200 OK in 21ms (Views: 18.5ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:28:56 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.5ms) +Completed 200 OK in 35ms (Views: 32.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:28:57 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (9.0ms) +Completed 200 OK in 43ms (Views: 40.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:35:12 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (9.2ms) +Completed 200 OK in 37ms (Views: 35.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:35:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.5ms) +Completed 200 OK in 34ms (Views: 32.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/1" for ::1 at 2017-03-24 14:35:45 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.9ms) +Completed 200 OK in 31ms (Views: 26.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:36:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.4ms) +Completed 200 OK in 37ms (Views: 32.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:36:07 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.0ms) +Completed 200 OK in 44ms (Views: 40.1ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:36:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.3ms) +Completed 200 OK in 35ms (Views: 33.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:36:18 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.3ms) +Completed 200 OK in 34ms (Views: 32.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/2" for ::1 at 2017-03-24 14:36:21 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 30ms (Views: 25.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:36:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.9ms) +Completed 200 OK in 36ms (Views: 31.4ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:37:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (10.5ms) +Completed 200 OK in 43ms (Views: 40.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:39:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 26ms (Views: 21.8ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-24 14:41:46 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 32ms (Views: 29.0ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:42:11 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.9ms) +Completed 500 Internal Server Error in 21ms (ActiveRecord: 0.6ms) + + + +ActionView::Template::Error (No route matches {:action=>"destroy", :controller=>"tasks"} missing required keys: [:id]): + 19: <% end %> + 20: + 21: <% if task.completion_date != nil %> + 22: <%= link_to "Delete", delete_task_path, method: :delete, data: { confirm: "Are you sure?"} %> + 23: <% end %> + 24: + 25:

+ +app/views/tasks/index.html.erb:22:in `block in _app_views_tasks_index_html_erb___230971897979905211_70307154371700' +app/views/tasks/index.html.erb:7:in `_app_views_tasks_index_html_erb___230971897979905211_70307154371700' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (5.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.0ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (81.7ms) +Started GET "/tasks" for ::1 at 2017-03-24 14:42:36 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.1ms) +Completed 500 Internal Server Error in 14ms (ActiveRecord: 0.4ms) + + + +ActionView::Template::Error (No route matches {:action=>"destroy", :controller=>"tasks", :id=>nil} missing required keys: [:id]): + 19: <% end %> + 20: + 21: <% if task.completion_date != nil %> + 22: <%= link_to "Delete", delete_task_path(params[:id]), method: :delete, data: { confirm: "Are you sure?"} %> + 23: <% end %> + 24: + 25:

+ +app/views/tasks/index.html.erb:22:in `block in _app_views_tasks_index_html_erb___230971897979905211_70307174160920' +app/views/tasks/index.html.erb:7:in `_app_views_tasks_index_html_erb___230971897979905211_70307174160920' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (11.4ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.8ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.7ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (66.3ms) +Started GET "/tasks" for ::1 at 2017-03-24 14:44:39 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.1ms) +Completed 200 OK in 24ms (Views: 22.1ms | ActiveRecord: 0.2ms) + + +Started DELETE "/tasks/2" for ::1 at 2017-03-24 14:44:43 -0700 +Processing by TasksController#destroy as HTML + Parameters: {"authenticity_token"=>"wJMy/bDdMFYRKAG0YCe4hlN7gzktpkFuTmgE9cYxoUWIthXgkcCyZKjDBRboaA8tGMQsnKbbzPJkozZnkP8btQ==", "id"=>"2"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 2], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (2.1ms) DELETE FROM "tasks" WHERE "tasks"."id" = ? [["id", 2]] +  (1.5ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 9ms (ActiveRecord: 4.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:44:43 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.2ms) +Completed 200 OK in 57ms (Views: 52.6ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/1" for ::1 at 2017-03-24 14:45:19 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"OM9zjCwPKkFzqrDL6ayUcm6eMijNl7PvheP7CUgAWzFw6lSRDRKoc8pBtGlh4yPZJSGdjUbqPnOvKMmbHs7hwQ==", "commit"=>"Mark Complete", "id"=>"1"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.3ms) UPDATE "tasks" SET "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["status", "Done!"], ["updated_at", 2017-03-24 21:45:19 UTC], ["id", 1]] +  (2.1ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 6ms (ActiveRecord: 2.7ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:45:19 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (11.2ms) +Completed 200 OK in 43ms (Views: 39.4ms | ActiveRecord: 0.3ms) + + +Started DELETE "/tasks/1" for ::1 at 2017-03-24 14:45:29 -0700 +Processing by TasksController#destroy as HTML + Parameters: {"authenticity_token"=>"fORZ4goIs0aDkNwaWJBRck14xfMvYdg4zG0K+2Ia+5A0wX7/KxUxdDp72LjQ3+bZBsdqVqQcVaTmpjhpNNRBYA==", "id"=>"1"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] +  (0.3ms) begin transaction + SQL (1.1ms) DELETE FROM "tasks" WHERE "tasks"."id" = ? [["id", 1]] +  (4.2ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 24ms (ActiveRecord: 6.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:45:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.5ms) +Completed 200 OK in 54ms (Views: 50.0ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:45:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.0ms) +Completed 200 OK in 41ms (Views: 38.7ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/5" for ::1 at 2017-03-24 14:46:06 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"5"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.7ms) +Completed 200 OK in 29ms (Views: 26.6ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/5/edit" for ::1 at 2017-03-24 14:46:11 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"5"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (4.2ms) +Completed 200 OK in 31ms (Views: 25.8ms | ActiveRecord: 0.2ms) + + +Started PUT "/tasks/5" for ::1 at 2017-03-24 14:46:17 -0700 +Processing by TasksController#update as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"RdWSIsxphzU5V+7rpKQ8j22ubeEUDY2esknoDKZf0Bo7Fck3LPv7Y0YmDmhpCdoNmUC6QVZgGiuk8K3vqCk/hQ==", "task"=>{"name"=>"Test", "image"=>"", "description"=>"Test your butt", "status"=>"Haven't Started", "complete_by"=>"2017-03-15"}, "commit"=>"Save", "id"=>"5"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.9ms) UPDATE "tasks" SET "complete_by" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["complete_by", Wed, 15 Mar 2017], ["updated_at", 2017-03-24 21:46:17 UTC], ["id", 5]] +  (1.2ms) commit transaction +Redirected to http://localhost:3000/tasks/5 +Completed 302 Found in 16ms (ActiveRecord: 2.4ms) + + +Started GET "/tasks/5" for ::1 at 2017-03-24 14:46:17 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"5"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.3ms) +Completed 200 OK in 23ms (Views: 18.5ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:46:21 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.6ms) +Completed 200 OK in 30ms (Views: 27.6ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/6" for ::1 at 2017-03-24 14:46:23 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"QXPSim31k+n1Ak8K4KLu1isWOdrAyZxOmG/6BE6e7pFvdc/GIqKjfbbRBLcvsRUOo1saDFJr+RUI+uAXTslzzQ==", "commit"=>"Mark Complete", "id"=>"6"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 6], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.5ms) UPDATE "tasks" SET "completion_date" = ?, "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["completion_date", Fri, 24 Mar 2017], ["status", "Done!"], ["updated_at", 2017-03-24 21:46:23 UTC], ["id", 6]] +  (3.0ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 17ms (ActiveRecord: 3.7ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:46:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.8ms) +Completed 200 OK in 44ms (Views: 39.1ms | ActiveRecord: 0.3ms) + + +Started PATCH "/tasks/5" for ::1 at 2017-03-24 14:46:24 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"ZhpMsuYreAI7nDgLHsbGV/OeLydFQKgqfLJSbV8ZIksuP2uvxzb6MIJ3PKmWiXH8uCGAgs49JbZWeWD/CdeYuw==", "commit"=>"Mark Complete", "id"=>"5"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] +  (0.0ms) begin transaction + SQL (0.4ms) UPDATE "tasks" SET "completion_date" = ?, "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["completion_date", Fri, 24 Mar 2017], ["status", "Done!"], ["updated_at", 2017-03-24 21:46:24 UTC], ["id", 5]] +  (2.5ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 6ms (ActiveRecord: 3.0ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:46:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 31ms (Views: 28.2ms | ActiveRecord: 0.2ms) + + +Started DELETE "/tasks/5" for ::1 at 2017-03-24 14:46:26 -0700 +Processing by TasksController#destroy as HTML + Parameters: {"authenticity_token"=>"MFzoo42erQP+D/rcvYyC/5dqFJh/37Jz0zzRyRQCTSp4ec++rIMvMUfk/n41wzVU3NW7PfSiP+/59+NbQsz32g==", "id"=>"5"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 5], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (4.5ms) DELETE FROM "tasks" WHERE "tasks"."id" = ? [["id", 5]] +  (4.1ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 21ms (ActiveRecord: 8.9ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:46:26 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.7ms) +Completed 200 OK in 49ms (Views: 45.7ms | ActiveRecord: 0.3ms) + + +Started DELETE "/tasks/6" for ::1 at 2017-03-24 14:46:29 -0700 +Processing by TasksController#destroy as HTML + Parameters: {"authenticity_token"=>"Hw4V4r0zkA55Vj0AUFEB2W05T/0D9+uDKR+2WYgofL1XKzL/nC4SPMC9OaLYHrZyJobgWIiKZh8D1ITL3ubGTQ==", "id"=>"6"} + Task Load (4.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 6], ["LIMIT", 1]] +  (0.9ms) begin transaction + SQL (0.6ms) DELETE FROM "tasks" WHERE "tasks"."id" = ? [["id", 6]] +  (2.2ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 14ms (ActiveRecord: 8.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:46:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.9ms) +Completed 200 OK in 34ms (Views: 30.1ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/9" for ::1 at 2017-03-24 14:46:34 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"L9lelLERw4HS5OGkFf3TFY38y22o3EirQ3URHsyLACBn/HmJkAxBs2sP5QadsmS+xkNkyCOhxTdpviOMmkW60A==", "commit"=>"Mark Complete", "id"=>"9"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (2.6ms) UPDATE "tasks" SET "completion_date" = ?, "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["completion_date", Fri, 24 Mar 2017], ["status", "Done!"], ["updated_at", 2017-03-24 21:46:34 UTC], ["id", 9]] +  (1.5ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 8ms (ActiveRecord: 4.3ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:46:34 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.7ms) +Completed 200 OK in 45ms (Views: 35.8ms | ActiveRecord: 0.2ms) + + +Started DELETE "/tasks/9" for ::1 at 2017-03-24 14:46:36 -0700 +Processing by TasksController#destroy as HTML + Parameters: {"authenticity_token"=>"21vYE7+q2bYXEiuwoOw5OD4TRkLS1A+X0w2zcfhgMriTfv8OnrdbhK75LxIoo46Tdazp51mpggv5xoHjrq6ISA==", "id"=>"9"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 9], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (0.5ms) DELETE FROM "tasks" WHERE "tasks"."id" = ? [["id", 9]] +  (7.8ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 21ms (ActiveRecord: 8.9ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:46:36 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (24.4ms) +Completed 200 OK in 56ms (Views: 53.0ms | ActiveRecord: 0.4ms) + + From 75038e317fe2fe72f49cb59c7858640e594d0625 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Fri, 24 Mar 2017 15:05:17 -0700 Subject: [PATCH 33/44] Removed option to edit if task is completed --- app/assets/stylesheets/application.css | 18 +- app/views/tasks/index.html.erb | 4 +- app/views/tasks/show.html.erb | 5 +- db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 392 +++++++++++++++++++++++++ 5 files changed, 413 insertions(+), 6 deletions(-) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index f43b05616..a150bfd20 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -57,11 +57,10 @@ img { /*Styling the all task list area*/ .incomplete, .complete { - margin: 2px; display:inline-block; - height: 100px; + height: 120px; width: 21%; - margin: 20px 1.5%; + margin: 20px 1.6%; text-align: center; } @@ -74,8 +73,17 @@ img { clear: both; } +.complete input { + margin: 5px; +} + .complete a { color: rgb(5, 181, 214); + margin: 5px; +} + +section.incomplete:hover { + border: 2px solid rgb(5, 181, 214); } .main-list { @@ -86,6 +94,10 @@ img { border-radius: 10px; } +.main-list h2 { + font-size: 1.75em; +} + a { color: grey; text-decoration: none; diff --git a/app/views/tasks/index.html.erb b/app/views/tasks/index.html.erb index 560182489..ff057e9b3 100644 --- a/app/views/tasks/index.html.erb +++ b/app/views/tasks/index.html.erb @@ -2,7 +2,7 @@
-

TO DO

+

Don't Forget

<% @tasks.each do |task| %>
<% end %>" /> - +

<%= link_to task.name, task_path(task.id) %>

<%= form_for task do |f| %> diff --git a/app/views/tasks/show.html.erb b/app/views/tasks/show.html.erb index 4dbf18597..2bd50df79 100644 --- a/app/views/tasks/show.html.erb +++ b/app/views/tasks/show.html.erb @@ -22,7 +22,10 @@

- <%= link_to "Edit", edit_task_path %> + <% if @result_task.completion_date == nil %> + <%= link_to "Edit", edit_task_path %> + <% end %> + <%= link_to "Delete", delete_task_path, method: :delete, data: { confirm: "Are you sure?"} %>

diff --git a/db/development.sqlite3 b/db/development.sqlite3 index d22ae86f45857e09d3d7415dccf053b93739c739..3b1facb1ca284090d7ad66fb7699d06d492541a3 100644 GIT binary patch delta 342 zcmZp8z}WDBae_3X{X`jOM*EEk3;kvJd>L4IQW$uS@=oIC=1Jk7#4QbhT%Ftn8yhci zZ2l18$IPfX**-=!F`kEuK~$8%(UCz>J0!KZB*eA2#K^$VT-U%@*T_V{$k58f!phK0 z&)D3=(881$8IQ!W)I9YPh2WCJqLS2<%|~Op7?~LMO%9CP#oNfj&cz^`tq8P^L45N0 zXa`1<$qF%2K+IVWw#?Mj%EUy^!qC{*$igK*FI6#zmy1DK6XCwhymWtW1wa3A1-Bqi iS3eg;3?~_x>6sgvT9{Z6BZF`(E7-N068`fu@&W+F|5c0t delta 238 zcmZp8z}WDBae_3X%|sbzMw^WZ3;ktztQnZOk23Nc<(0)GJ+&nojZkMK!k&%I+xvqh+u2Ew;6E}luGSHmHKnC&f#GGt}l8n^GKt^r` zSx3dm$0H3Vmqlp`o0wV|TIv~QvT`wqYJx0P6rUU!Ck?ceXL4DblpMrLBNIIn14}~- SQ<(9FreMoACH&`S"✓", "authenticity_token"=>"xtOkm93xTUXEzzsxanh+5XX52b8/7PDAhNV+SvnNOYNh+aXp30kasilGYkpcGPG2D2Y6pin24CuiySIDCDSUCw==", "task"=>{"name"=>"Test", "description"=>"TEst", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"24"}, "commit"=>"Add Task"} +  (0.1ms) begin transaction + SQL (0.5ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at", "complete_by", "status") VALUES (?, ?, ?, ?, ?, ?) [["name", "Test"], ["description", "TEst"], ["created_at", 2017-03-24 21:48:16 UTC], ["updated_at", 2017-03-24 21:48:16 UTC], ["complete_by", Fri, 24 Mar 2017], ["status", "Haven't Started"]] +  (2.5ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 7ms (ActiveRecord: 3.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:48:16 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.8ms) +Completed 200 OK in 37ms (Views: 34.2ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/new" for ::1 at 2017-03-24 14:48:18 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (4.3ms) +Completed 200 OK in 32ms (Views: 29.2ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for ::1 at 2017-03-24 14:48:26 -0700 +Processing by TasksController#create as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"vLicQ/RPnNV9OuNsB+Ur6+QFRYnnW9K/AcGENICsBIQbkp0x9vfLIpCzuhcxhaS4npqmkPFBwlQn3dh9cVWpDA==", "task"=>{"name"=>"Testing", "description"=>"OK NOW FRIEND!", "status"=>"Haven't Started", "complete_by(1i)"=>"2017", "complete_by(2i)"=>"3", "complete_by(3i)"=>"24"}, "commit"=>"Add Task"} +  (0.1ms) begin transaction + SQL (0.4ms) INSERT INTO "tasks" ("name", "description", "created_at", "updated_at", "complete_by", "status") VALUES (?, ?, ?, ?, ?, ?) [["name", "Testing"], ["description", "OK NOW FRIEND!"], ["created_at", 2017-03-24 21:48:26 UTC], ["updated_at", 2017-03-24 21:48:26 UTC], ["complete_by", Fri, 24 Mar 2017], ["status", "Haven't Started"]] +  (2.5ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 7ms (ActiveRecord: 2.9ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:48:26 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (19.2ms) +Completed 200 OK in 50ms (Views: 46.5ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/7" for ::1 at 2017-03-24 14:48:29 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (4.4ms) +Completed 200 OK in 31ms (Views: 27.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:48:32 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.8ms) +Completed 200 OK in 48ms (Views: 41.4ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-24 14:48:33 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.5ms) +Completed 200 OK in 32ms (Views: 28.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:48:36 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.7ms) +Completed 200 OK in 54ms (Views: 47.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:50:47 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (8.8ms) +Completed 200 OK in 51ms (Views: 45.9ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:51:06 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.1ms) +Completed 200 OK in 39ms (Views: 36.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:51:18 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 32ms (Views: 29.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:51:39 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.1ms) +Completed 200 OK in 37ms (Views: 32.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:51:53 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 39ms (Views: 36.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:52:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.1ms) +Completed 200 OK in 34ms (Views: 31.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:52:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.8ms) +Completed 200 OK in 30ms (Views: 28.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:53:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 32ms (Views: 28.0ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:53:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.3ms) +Completed 200 OK in 31ms (Views: 28.4ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:53:28 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.4ms) +Completed 200 OK in 33ms (Views: 29.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:53:53 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (5.5ms) +Completed 200 OK in 33ms (Views: 30.6ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:53:58 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 35ms (Views: 33.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:54:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 28ms (Views: 25.1ms | ActiveRecord: 0.2ms) + + +Started PATCH "/tasks/7" for ::1 at 2017-03-24 14:55:44 -0700 +Processing by TasksController#complete as HTML + Parameters: {"utf8"=>"✓", "authenticity_token"=>"jTpwOwnjqezi0sdtGPRZwX2jPhUM98ER5dC6FXhs4JfFH1cmKP4r3ls5w8+Qu+5qNhyRsIeKTI3PG4iHLqJaZw==", "commit"=>"Mark Complete", "id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] +  (0.1ms) begin transaction + SQL (5.1ms) UPDATE "tasks" SET "completion_date" = ?, "status" = ?, "updated_at" = ? WHERE "tasks"."id" = ? [["completion_date", Fri, 24 Mar 2017], ["status", "Done!"], ["updated_at", 2017-03-24 21:55:44 UTC], ["id", 7]] +  (3.6ms) commit transaction +Redirected to http://localhost:3000/tasks +Completed 302 Found in 15ms (ActiveRecord: 8.9ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:55:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 37ms (Views: 34.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:57:37 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 40ms (Views: 36.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:57:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 35ms (Views: 33.2ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:57:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.2ms) +Completed 200 OK in 30ms (Views: 27.8ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:58:08 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.3ms) +Completed 200 OK in 34ms (Views: 31.5ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:58:41 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.3ms) +Completed 200 OK in 23ms (Views: 21.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:59:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.4ms) +Completed 200 OK in 35ms (Views: 31.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:59:21 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 35ms (Views: 33.2ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 14:59:34 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.7ms) +Completed 200 OK in 30ms (Views: 28.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 15:00:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.3ms) +Completed 200 OK in 42ms (Views: 39.6ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 15:00:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.2ms) +Completed 200 OK in 29ms (Views: 27.3ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 15:00:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (6.2ms) +Completed 200 OK in 31ms (Views: 29.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 15:00:38 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 30ms (Views: 28.4ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/3" for ::1 at 2017-03-24 15:03:12 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"3"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.4ms) +Completed 200 OK in 33ms (Views: 29.9ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks/7" for ::1 at 2017-03-24 15:03:23 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"7"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (3.0ms) +Completed 200 OK in 32ms (Views: 26.9ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/7" for ::1 at 2017-03-24 15:04:33 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (211.8ms) +Completed 500 Internal Server Error in 219ms (ActiveRecord: 0.1ms) + + + +ActionView::Template::Error (undefined local variable or method `task' for #<#:0x007fe35428b560>): + 22:

+ 23: + 24:

+ 25: <% if task.completion_date == nil %> + 26: <%= link_to "Edit", edit_task_path %> + 27: <% end %> + 28: + +app/views/tasks/show.html.erb:25:in `_app_views_tasks_show_html_erb___3011033787556978266_70307173141320' + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (4.7ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.5ms) + Rendering /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.3ms) + Rendered /Users/lynntrickey/.rvm/gems/ruby-2.4.0@TaskListRails/gems/actionpack-5.0.2/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (67.3ms) +Started GET "/tasks/7" for ::1 at 2017-03-24 15:04:48 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"7"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (11.3ms) +Completed 200 OK in 35ms (Views: 32.1ms | ActiveRecord: 0.1ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 15:04:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (4.3ms) +Completed 200 OK in 31ms (Views: 29.0ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/7" for ::1 at 2017-03-24 15:04:53 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"7"} + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 7], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (2.0ms) +Completed 200 OK in 46ms (Views: 41.9ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks" for ::1 at 2017-03-24 15:04:56 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.2ms) SELECT "tasks".* FROM "tasks" + Rendered tasks/index.html.erb within layouts/application (7.9ms) +Completed 200 OK in 54ms (Views: 48.3ms | ActiveRecord: 0.2ms) + + +Started GET "/tasks/4" for ::1 at 2017-03-24 15:04:57 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT ? [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 41ms (Views: 37.4ms | ActiveRecord: 0.1ms) + + From 19459748a509dd5f5d0124e0598e280adc2e58b3 Mon Sep 17 00:00:00 2001 From: Lynn Trickey Date: Fri, 24 Mar 2017 15:38:53 -0700 Subject: [PATCH 34/44] Changed styling of completed tasks. --- app/assets/images/TaskList.htm | 101 + ...0917e1e745525ae9afbc05f52104c4cd6597429.js | 597 + ...d8bb21363e26c84cebb532b1b6cfe6f6f0d29b.css | 123 + ...b8d231ad7dfc2f3f57fcbaf5f44ed9dc384137b.js | 16 + ...e74e63f68819fd19bf740595f592c5ba4c36537.js | 13 + ...0342adf488fb6006d667e8b42e4c0073393abee.js | 11009 ++++++++++++++++ ...7c9cb558e1cbb801c6da88105588c56f13b466a.js | 555 + ...3e309a11d7f2612f44dde450b5c157aa5f95c05.js | 4 + ...4d92e28d34c9e2df2c7371cd7af88e147e4ad82.js | 7 + app/assets/stylesheets/application.css | 43 +- app/views/tasks/index.html.erb | 27 +- app/views/tasks/show.html.erb | 11 +- db/development.sqlite3 | Bin 28672 -> 28672 bytes log/development.log | 798 ++ 14 files changed, 13270 insertions(+), 34 deletions(-) create mode 100644 app/assets/images/TaskList.htm create mode 100644 app/assets/images/TaskList_files/action_cable.self-5454023407ffec0d29137c7110917e1e745525ae9afbc05f52104c4cd6597429.js create mode 100644 app/assets/images/TaskList_files/application.self-166063d169177aba144cffc5b5d8bb21363e26c84cebb532b1b6cfe6f6f0d29b.css create mode 100644 app/assets/images/TaskList_files/application.self-b89234cf2659d7fedea75bca0b8d231ad7dfc2f3f57fcbaf5f44ed9dc384137b.js create mode 100644 app/assets/images/TaskList_files/cable.self-6e0514260c1aa76eaf252412ce74e63f68819fd19bf740595f592c5ba4c36537.js create mode 100644 app/assets/images/TaskList_files/jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js create mode 100644 app/assets/images/TaskList_files/jquery_ujs.self-784a997f6726036b1993eb2217c9cb558e1cbb801c6da88105588c56f13b466a.js create mode 100644 app/assets/images/TaskList_files/tasks.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js create mode 100644 app/assets/images/TaskList_files/turbolinks.self-c5acd7a204f5f25ce7a1d8a0e4d92e28d34c9e2df2c7371cd7af88e147e4ad82.js diff --git a/app/assets/images/TaskList.htm b/app/assets/images/TaskList.htm new file mode 100644 index 000000000..305a3405b --- /dev/null +++ b/app/assets/images/TaskList.htm @@ -0,0 +1,101 @@ + + + + TaskList + + + + + + + + + + + + + + +

All My Tasks

+ + + +Create New Task + + + + \ No newline at end of file diff --git a/app/assets/images/TaskList_files/action_cable.self-5454023407ffec0d29137c7110917e1e745525ae9afbc05f52104c4cd6597429.js b/app/assets/images/TaskList_files/action_cable.self-5454023407ffec0d29137c7110917e1e745525ae9afbc05f52104c4cd6597429.js new file mode 100644 index 000000000..babd65b67 --- /dev/null +++ b/app/assets/images/TaskList_files/action_cable.self-5454023407ffec0d29137c7110917e1e745525ae9afbc05f52104c4cd6597429.js @@ -0,0 +1,597 @@ +(function() { + (function() { + (function() { + var slice = [].slice; + + this.ActionCable = { + INTERNAL: { + "message_types": { + "welcome": "welcome", + "ping": "ping", + "confirmation": "confirm_subscription", + "rejection": "reject_subscription" + }, + "default_mount_path": "/cable", + "protocols": ["actioncable-v1-json", "actioncable-unsupported"] + }, + createConsumer: function(url) { + var ref; + if (url == null) { + url = (ref = this.getConfig("url")) != null ? ref : this.INTERNAL.default_mount_path; + } + return new ActionCable.Consumer(this.createWebSocketURL(url)); + }, + getConfig: function(name) { + var element; + element = document.head.querySelector("meta[name='action-cable-" + name + "']"); + return element != null ? element.getAttribute("content") : void 0; + }, + createWebSocketURL: function(url) { + var a; + if (url && !/^wss?:/i.test(url)) { + a = document.createElement("a"); + a.href = url; + a.href = a.href; + a.protocol = a.protocol.replace("http", "ws"); + return a.href; + } else { + return url; + } + }, + startDebugging: function() { + return this.debugging = true; + }, + stopDebugging: function() { + return this.debugging = null; + }, + log: function() { + var messages; + messages = 1 <= arguments.length ? slice.call(arguments, 0) : []; + if (this.debugging) { + messages.push(Date.now()); + return console.log.apply(console, ["[ActionCable]"].concat(slice.call(messages))); + } + } + }; + + }).call(this); + }).call(this); + + var ActionCable = this.ActionCable; + + (function() { + (function() { + var bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + + ActionCable.ConnectionMonitor = (function() { + var clamp, now, secondsSince; + + ConnectionMonitor.pollInterval = { + min: 3, + max: 30 + }; + + ConnectionMonitor.staleThreshold = 6; + + function ConnectionMonitor(connection) { + this.connection = connection; + this.visibilityDidChange = bind(this.visibilityDidChange, this); + this.reconnectAttempts = 0; + } + + ConnectionMonitor.prototype.start = function() { + if (!this.isRunning()) { + this.startedAt = now(); + delete this.stoppedAt; + this.startPolling(); + document.addEventListener("visibilitychange", this.visibilityDidChange); + return ActionCable.log("ConnectionMonitor started. pollInterval = " + (this.getPollInterval()) + " ms"); + } + }; + + ConnectionMonitor.prototype.stop = function() { + if (this.isRunning()) { + this.stoppedAt = now(); + this.stopPolling(); + document.removeEventListener("visibilitychange", this.visibilityDidChange); + return ActionCable.log("ConnectionMonitor stopped"); + } + }; + + ConnectionMonitor.prototype.isRunning = function() { + return (this.startedAt != null) && (this.stoppedAt == null); + }; + + ConnectionMonitor.prototype.recordPing = function() { + return this.pingedAt = now(); + }; + + ConnectionMonitor.prototype.recordConnect = function() { + this.reconnectAttempts = 0; + this.recordPing(); + delete this.disconnectedAt; + return ActionCable.log("ConnectionMonitor recorded connect"); + }; + + ConnectionMonitor.prototype.recordDisconnect = function() { + this.disconnectedAt = now(); + return ActionCable.log("ConnectionMonitor recorded disconnect"); + }; + + ConnectionMonitor.prototype.startPolling = function() { + this.stopPolling(); + return this.poll(); + }; + + ConnectionMonitor.prototype.stopPolling = function() { + return clearTimeout(this.pollTimeout); + }; + + ConnectionMonitor.prototype.poll = function() { + return this.pollTimeout = setTimeout((function(_this) { + return function() { + _this.reconnectIfStale(); + return _this.poll(); + }; + })(this), this.getPollInterval()); + }; + + ConnectionMonitor.prototype.getPollInterval = function() { + var interval, max, min, ref; + ref = this.constructor.pollInterval, min = ref.min, max = ref.max; + interval = 5 * Math.log(this.reconnectAttempts + 1); + return Math.round(clamp(interval, min, max) * 1000); + }; + + ConnectionMonitor.prototype.reconnectIfStale = function() { + if (this.connectionIsStale()) { + ActionCable.log("ConnectionMonitor detected stale connection. reconnectAttempts = " + this.reconnectAttempts + ", pollInterval = " + (this.getPollInterval()) + " ms, time disconnected = " + (secondsSince(this.disconnectedAt)) + " s, stale threshold = " + this.constructor.staleThreshold + " s"); + this.reconnectAttempts++; + if (this.disconnectedRecently()) { + return ActionCable.log("ConnectionMonitor skipping reopening recent disconnect"); + } else { + ActionCable.log("ConnectionMonitor reopening"); + return this.connection.reopen(); + } + } + }; + + ConnectionMonitor.prototype.connectionIsStale = function() { + var ref; + return secondsSince((ref = this.pingedAt) != null ? ref : this.startedAt) > this.constructor.staleThreshold; + }; + + ConnectionMonitor.prototype.disconnectedRecently = function() { + return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold; + }; + + ConnectionMonitor.prototype.visibilityDidChange = function() { + if (document.visibilityState === "visible") { + return setTimeout((function(_this) { + return function() { + if (_this.connectionIsStale() || !_this.connection.isOpen()) { + ActionCable.log("ConnectionMonitor reopening stale connection on visibilitychange. visbilityState = " + document.visibilityState); + return _this.connection.reopen(); + } + }; + })(this), 200); + } + }; + + now = function() { + return new Date().getTime(); + }; + + secondsSince = function(time) { + return (now() - time) / 1000; + }; + + clamp = function(number, min, max) { + return Math.max(min, Math.min(max, number)); + }; + + return ConnectionMonitor; + + })(); + + }).call(this); + (function() { + var i, message_types, protocols, ref, supportedProtocols, unsupportedProtocol, + slice = [].slice, + bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, + indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; + + ref = ActionCable.INTERNAL, message_types = ref.message_types, protocols = ref.protocols; + + supportedProtocols = 2 <= protocols.length ? slice.call(protocols, 0, i = protocols.length - 1) : (i = 0, []), unsupportedProtocol = protocols[i++]; + + ActionCable.Connection = (function() { + Connection.reopenDelay = 500; + + function Connection(consumer) { + this.consumer = consumer; + this.open = bind(this.open, this); + this.subscriptions = this.consumer.subscriptions; + this.monitor = new ActionCable.ConnectionMonitor(this); + this.disconnected = true; + } + + Connection.prototype.send = function(data) { + if (this.isOpen()) { + this.webSocket.send(JSON.stringify(data)); + return true; + } else { + return false; + } + }; + + Connection.prototype.open = function() { + if (this.isActive()) { + ActionCable.log("Attempted to open WebSocket, but existing socket is " + (this.getState())); + throw new Error("Existing connection must be closed before opening"); + } else { + ActionCable.log("Opening WebSocket, current state is " + (this.getState()) + ", subprotocols: " + protocols); + if (this.webSocket != null) { + this.uninstallEventHandlers(); + } + this.webSocket = new WebSocket(this.consumer.url, protocols); + this.installEventHandlers(); + this.monitor.start(); + return true; + } + }; + + Connection.prototype.close = function(arg) { + var allowReconnect, ref1; + allowReconnect = (arg != null ? arg : { + allowReconnect: true + }).allowReconnect; + if (!allowReconnect) { + this.monitor.stop(); + } + if (this.isActive()) { + return (ref1 = this.webSocket) != null ? ref1.close() : void 0; + } + }; + + Connection.prototype.reopen = function() { + var error; + ActionCable.log("Reopening WebSocket, current state is " + (this.getState())); + if (this.isActive()) { + try { + return this.close(); + } catch (error1) { + error = error1; + return ActionCable.log("Failed to reopen WebSocket", error); + } finally { + ActionCable.log("Reopening WebSocket in " + this.constructor.reopenDelay + "ms"); + setTimeout(this.open, this.constructor.reopenDelay); + } + } else { + return this.open(); + } + }; + + Connection.prototype.getProtocol = function() { + var ref1; + return (ref1 = this.webSocket) != null ? ref1.protocol : void 0; + }; + + Connection.prototype.isOpen = function() { + return this.isState("open"); + }; + + Connection.prototype.isActive = function() { + return this.isState("open", "connecting"); + }; + + Connection.prototype.isProtocolSupported = function() { + var ref1; + return ref1 = this.getProtocol(), indexOf.call(supportedProtocols, ref1) >= 0; + }; + + Connection.prototype.isState = function() { + var ref1, states; + states = 1 <= arguments.length ? slice.call(arguments, 0) : []; + return ref1 = this.getState(), indexOf.call(states, ref1) >= 0; + }; + + Connection.prototype.getState = function() { + var ref1, state, value; + for (state in WebSocket) { + value = WebSocket[state]; + if (value === ((ref1 = this.webSocket) != null ? ref1.readyState : void 0)) { + return state.toLowerCase(); + } + } + return null; + }; + + Connection.prototype.installEventHandlers = function() { + var eventName, handler; + for (eventName in this.events) { + handler = this.events[eventName].bind(this); + this.webSocket["on" + eventName] = handler; + } + }; + + Connection.prototype.uninstallEventHandlers = function() { + var eventName; + for (eventName in this.events) { + this.webSocket["on" + eventName] = function() {}; + } + }; + + Connection.prototype.events = { + message: function(event) { + var identifier, message, ref1, type; + if (!this.isProtocolSupported()) { + return; + } + ref1 = JSON.parse(event.data), identifier = ref1.identifier, message = ref1.message, type = ref1.type; + switch (type) { + case message_types.welcome: + this.monitor.recordConnect(); + return this.subscriptions.reload(); + case message_types.ping: + return this.monitor.recordPing(); + case message_types.confirmation: + return this.subscriptions.notify(identifier, "connected"); + case message_types.rejection: + return this.subscriptions.reject(identifier); + default: + return this.subscriptions.notify(identifier, "received", message); + } + }, + open: function() { + ActionCable.log("WebSocket onopen event, using '" + (this.getProtocol()) + "' subprotocol"); + this.disconnected = false; + if (!this.isProtocolSupported()) { + ActionCable.log("Protocol is unsupported. Stopping monitor and disconnecting."); + return this.close({ + allowReconnect: false + }); + } + }, + close: function(event) { + ActionCable.log("WebSocket onclose event"); + if (this.disconnected) { + return; + } + this.disconnected = true; + this.monitor.recordDisconnect(); + return this.subscriptions.notifyAll("disconnected", { + willAttemptReconnect: this.monitor.isRunning() + }); + }, + error: function() { + return ActionCable.log("WebSocket onerror event"); + } + }; + + return Connection; + + })(); + + }).call(this); + (function() { + var slice = [].slice; + + ActionCable.Subscriptions = (function() { + function Subscriptions(consumer) { + this.consumer = consumer; + this.subscriptions = []; + } + + Subscriptions.prototype.create = function(channelName, mixin) { + var channel, params, subscription; + channel = channelName; + params = typeof channel === "object" ? channel : { + channel: channel + }; + subscription = new ActionCable.Subscription(this.consumer, params, mixin); + return this.add(subscription); + }; + + Subscriptions.prototype.add = function(subscription) { + this.subscriptions.push(subscription); + this.consumer.ensureActiveConnection(); + this.notify(subscription, "initialized"); + this.sendCommand(subscription, "subscribe"); + return subscription; + }; + + Subscriptions.prototype.remove = function(subscription) { + this.forget(subscription); + if (!this.findAll(subscription.identifier).length) { + this.sendCommand(subscription, "unsubscribe"); + } + return subscription; + }; + + Subscriptions.prototype.reject = function(identifier) { + var i, len, ref, results, subscription; + ref = this.findAll(identifier); + results = []; + for (i = 0, len = ref.length; i < len; i++) { + subscription = ref[i]; + this.forget(subscription); + this.notify(subscription, "rejected"); + results.push(subscription); + } + return results; + }; + + Subscriptions.prototype.forget = function(subscription) { + var s; + this.subscriptions = (function() { + var i, len, ref, results; + ref = this.subscriptions; + results = []; + for (i = 0, len = ref.length; i < len; i++) { + s = ref[i]; + if (s !== subscription) { + results.push(s); + } + } + return results; + }).call(this); + return subscription; + }; + + Subscriptions.prototype.findAll = function(identifier) { + var i, len, ref, results, s; + ref = this.subscriptions; + results = []; + for (i = 0, len = ref.length; i < len; i++) { + s = ref[i]; + if (s.identifier === identifier) { + results.push(s); + } + } + return results; + }; + + Subscriptions.prototype.reload = function() { + var i, len, ref, results, subscription; + ref = this.subscriptions; + results = []; + for (i = 0, len = ref.length; i < len; i++) { + subscription = ref[i]; + results.push(this.sendCommand(subscription, "subscribe")); + } + return results; + }; + + Subscriptions.prototype.notifyAll = function() { + var args, callbackName, i, len, ref, results, subscription; + callbackName = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : []; + ref = this.subscriptions; + results = []; + for (i = 0, len = ref.length; i < len; i++) { + subscription = ref[i]; + results.push(this.notify.apply(this, [subscription, callbackName].concat(slice.call(args)))); + } + return results; + }; + + Subscriptions.prototype.notify = function() { + var args, callbackName, i, len, results, subscription, subscriptions; + subscription = arguments[0], callbackName = arguments[1], args = 3 <= arguments.length ? slice.call(arguments, 2) : []; + if (typeof subscription === "string") { + subscriptions = this.findAll(subscription); + } else { + subscriptions = [subscription]; + } + results = []; + for (i = 0, len = subscriptions.length; i < len; i++) { + subscription = subscriptions[i]; + results.push(typeof subscription[callbackName] === "function" ? subscription[callbackName].apply(subscription, args) : void 0); + } + return results; + }; + + Subscriptions.prototype.sendCommand = function(subscription, command) { + var identifier; + identifier = subscription.identifier; + return this.consumer.send({ + command: command, + identifier: identifier + }); + }; + + return Subscriptions; + + })(); + + }).call(this); + (function() { + ActionCable.Subscription = (function() { + var extend; + + function Subscription(consumer, params, mixin) { + this.consumer = consumer; + if (params == null) { + params = {}; + } + this.identifier = JSON.stringify(params); + extend(this, mixin); + } + + Subscription.prototype.perform = function(action, data) { + if (data == null) { + data = {}; + } + data.action = action; + return this.send(data); + }; + + Subscription.prototype.send = function(data) { + return this.consumer.send({ + command: "message", + identifier: this.identifier, + data: JSON.stringify(data) + }); + }; + + Subscription.prototype.unsubscribe = function() { + return this.consumer.subscriptions.remove(this); + }; + + extend = function(object, properties) { + var key, value; + if (properties != null) { + for (key in properties) { + value = properties[key]; + object[key] = value; + } + } + return object; + }; + + return Subscription; + + })(); + + }).call(this); + (function() { + ActionCable.Consumer = (function() { + function Consumer(url) { + this.url = url; + this.subscriptions = new ActionCable.Subscriptions(this); + this.connection = new ActionCable.Connection(this); + } + + Consumer.prototype.send = function(data) { + return this.connection.send(data); + }; + + Consumer.prototype.connect = function() { + return this.connection.open(); + }; + + Consumer.prototype.disconnect = function() { + return this.connection.close({ + allowReconnect: false + }); + }; + + Consumer.prototype.ensureActiveConnection = function() { + if (!this.connection.isActive()) { + return this.connection.open(); + } + }; + + return Consumer; + + })(); + + }).call(this); + }).call(this); + + if (typeof module === "object" && module.exports) { + module.exports = ActionCable; + } else if (typeof define === "function" && define.amd) { + define(ActionCable); + } +}).call(this); diff --git a/app/assets/images/TaskList_files/application.self-166063d169177aba144cffc5b5d8bb21363e26c84cebb532b1b6cfe6f6f0d29b.css b/app/assets/images/TaskList_files/application.self-166063d169177aba144cffc5b5d8bb21363e26c84cebb532b1b6cfe6f6f0d29b.css new file mode 100644 index 000000000..baa9f6d4e --- /dev/null +++ b/app/assets/images/TaskList_files/application.self-166063d169177aba144cffc5b5d8bb21363e26c84cebb532b1b6cfe6f6f0d29b.css @@ -0,0 +1,123 @@ +@import url('https://fonts.googleapis.com/css?family=Raleway'); +@import url('https://fonts.googleapis.com/css?family=Rock+Salt'); +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, + * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS + * files in this directory. Styles in this file should be added after the last require_* statement. + * It is generally better to create a new file per style scope. + * + *= require_tree . + *= require_self + */ +/* +// Color Pallet +// TEAL/BLUE (RGB) 5, 181, 214 + // light: 148, 230, 245 + // bright: 0, 215, 255 + // LIME 208, 188, 4 + // lightest 214, 203, 107 + // light 215, 198, 45 + // dark 195, 175, 0 + // darker 179, 161, 0 + // GREY 143, 141, 142 + // purply 122, 111, 118 + // darker 111, 109, 111 + // darkest 98, 96, 97 +// +*/ + +html { + font-family: 'Raleway', sans-serif; + margin: 10px 5%; + overflow: auto; +} + +h1, h2 { + color: rgb(5, 181, 214); + font-family: 'Rock Salt', cursive; +} + +textarea, label, date_select { + box-sizing: border-box; + display: block; + margin: 10px; +} + +img { + height: 200px; +} + + +/*Styling the all task list area*/ +.main-list { + background-color: rgba(214, 203, 107, 1); + font-weight: bold; + padding: 2px; + margin-bottom: 20px; + border-radius: 10px; +} + +.main-list h2 { + font-size: 1.75em; + text-align: center; + color: white; + background-color: rgb(5, 181, 214); + border-radius: 10px; + padding: 5px; + width: 400px; + letter-spacing: .2em; + position: relative; + left: 30%; +} + +.incomplete, .complete { + display:inline-block; + height: 120px; + width: 21%; + margin: 20px 1.6%; + text-align: center; + clear: both; +} + +.incomplete { + background-color: white; +} + +.complete { + background-color: grey; + clear: both; +} + +.complete input { + margin: 5px; +} + +.complete a { + color: rgb(5, 181, 214); + margin: 5px; +} + +section.incomplete:hover { + background-color: rgb(5, 181, 214); +} + +a { + color: grey; + text-decoration: none; + padding: 10px; +} + +/*Just home button issues*/ + +a.bottom-button { + background-color: white; + padding-top: 20px; + width: 500px; + text-align: center; +} diff --git a/app/assets/images/TaskList_files/application.self-b89234cf2659d7fedea75bca0b8d231ad7dfc2f3f57fcbaf5f44ed9dc384137b.js b/app/assets/images/TaskList_files/application.self-b89234cf2659d7fedea75bca0b8d231ad7dfc2f3f57fcbaf5f44ed9dc384137b.js new file mode 100644 index 000000000..c55446780 --- /dev/null +++ b/app/assets/images/TaskList_files/application.self-b89234cf2659d7fedea75bca0b8d231ad7dfc2f3f57fcbaf5f44ed9dc384137b.js @@ -0,0 +1,16 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. JavaScript code in this file should be added after the last require_* statement. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// + + + + diff --git a/app/assets/images/TaskList_files/cable.self-6e0514260c1aa76eaf252412ce74e63f68819fd19bf740595f592c5ba4c36537.js b/app/assets/images/TaskList_files/cable.self-6e0514260c1aa76eaf252412ce74e63f68819fd19bf740595f592c5ba4c36537.js new file mode 100644 index 000000000..9fba45746 --- /dev/null +++ b/app/assets/images/TaskList_files/cable.self-6e0514260c1aa76eaf252412ce74e63f68819fd19bf740595f592c5ba4c36537.js @@ -0,0 +1,13 @@ +// Action Cable provides the framework to deal with WebSockets in Rails. +// You can generate new channels where WebSocket features live using the rails generate channel command. +// + + + + +(function() { + this.App || (this.App = {}); + + App.cable = ActionCable.createConsumer(); + +}).call(this); diff --git a/app/assets/images/TaskList_files/jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js b/app/assets/images/TaskList_files/jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js new file mode 100644 index 000000000..ddb1da79d --- /dev/null +++ b/app/assets/images/TaskList_files/jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js @@ -0,0 +1,11009 @@ +/*! + * jQuery JavaScript Library v1.12.4 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-05-20T17:17Z + */ + + +(function( global, factory ) { + + if ( typeof module === "object" && typeof module.exports === "object" ) { + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Support: Firefox 18+ +// Can't be in strict mode, several libs including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +//"use strict"; +var deletedIds = []; + +var document = window.document; + +var slice = deletedIds.slice; + +var concat = deletedIds.concat; + +var push = deletedIds.push; + +var indexOf = deletedIds.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var support = {}; + + + +var + version = "1.12.4", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android<4.1, IE<9 + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: deletedIds.sort, + splice: deletedIds.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type( obj ) === "array"; + }, + + isWindow: function( obj ) { + /* jshint eqeqeq: false */ + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + // adding 1 corrects loss of precision from parseFloat (#15100) + var realStringObj = obj && obj.toString(); + return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + isPlainObject: function( obj ) { + var key; + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call( obj, "constructor" ) && + !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { + return false; + } + } catch ( e ) { + + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Support: IE<9 + // Handle iteration over inherited properties before own properties. + if ( !support.ownFirst ) { + for ( key in obj ) { + return hasOwn.call( obj, key ); + } + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); // jscs:ignore requireDotNotation + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android<4.1, IE<9 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( indexOf ) { + return indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + while ( j < len ) { + first[ i++ ] = second[ j++ ]; + } + + // Support: IE<9 + // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) + if ( len !== len ) { + while ( second[ j ] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: function() { + return +( new Date() ); + }, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +// JSHint would error on this code due to the Symbol not being defined in ES5. +// Defining this global in .jshintrc would create a danger of using the global +// unguarded in another place, it seems safer to just disable JSHint for these +// three lines. +/* jshint ignore: start */ +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = deletedIds[ Symbol.iterator ]; +} +/* jshint ignore: end */ + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: iOS 8.2 (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.2.1 + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-10-17 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // http://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, nidselect, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; + while ( i-- ) { + groups[i] = nidselect + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, parent, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( (parent = document.defaultView) && parent.top !== parent ) { + // Support: IE 11 + if ( parent.addEventListener ) { + parent.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( document.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var m = context.getElementById( id ); + return m ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + docElem.appendChild( div ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibing-combinator selector` fails + if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( (oldCache = uniqueCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + } ); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) > -1 ) !== not; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, + ret = [], + self = this, + len = self.length; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // init accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt( 0 ) === "<" && + selector.charAt( selector.length - 1 ) === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[ 2 ] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[ 0 ] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return typeof root.ready !== "undefined" ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( pos ? + pos.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[ 0 ], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem, this ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + ret = jQuery.uniqueSort( ret ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + } + + return this.pushStack( ret ); + }; +} ); +var rnotwhite = ( /\S+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = true; + if ( !memory ) { + self.disable(); + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], + [ "notify", "progress", jQuery.Callbacks( "memory" ) ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this === promise ? newDefer.promise() : this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( function() { + + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || + ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. + // If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .progress( updateFunc( i, progressContexts, progressValues ) ) + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +} ); + + +// The deferred used on DOM ready +var readyList; + +jQuery.fn.ready = function( fn ) { + + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + jQuery( document ).off( "ready" ); + } + } +} ); + +/** + * Clean-up method for dom ready events + */ +function detach() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } +} + +/** + * The ready event handler and self cleanup method + */ +function completed() { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || + window.event.type === "load" || + document.readyState === "complete" ) { + + detach(); + jQuery.ready(); + } +} + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called + // after the browser event has already occurred. + // Support: IE6-10 + // Older IE sometimes signals "interactive" too soon + if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); + + // If IE event model is used + } else { + + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch ( e ) {} + + if ( top && top.doScroll ) { + ( function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll( "left" ); + } catch ( e ) { + return window.setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + } )(); + } + } + } + return readyList.promise( obj ); +}; + +// Kick off the DOM ready check even if the user does not +jQuery.ready.promise(); + + + + +// Support: IE<9 +// Iteration over object's inherited properties before its own +var i; +for ( i in jQuery( support ) ) { + break; +} +support.ownFirst = i === "0"; + +// Note: most support tests are defined in their respective modules. +// false until the test is run +support.inlineBlockNeedsLayout = false; + +// Execute ASAP in case we need to set body.style.zoom +jQuery( function() { + + // Minified: var a,b,c,d + var val, div, body, container; + + body = document.getElementsByTagName( "body" )[ 0 ]; + if ( !body || !body.style ) { + + // Return for frameset docs that don't have a body + return; + } + + // Setup + div = document.createElement( "div" ); + container = document.createElement( "div" ); + container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; + body.appendChild( container ).appendChild( div ); + + if ( typeof div.style.zoom !== "undefined" ) { + + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; + + support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; + if ( val ) { + + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); +} ); + + +( function() { + var div = document.createElement( "div" ); + + // Support: IE<9 + support.deleteExpando = true; + try { + delete div.test; + } catch ( e ) { + support.deleteExpando = false; + } + + // Null elements to avoid leaks in IE. + div = null; +} )(); +var acceptData = function( elem ) { + var noData = jQuery.noData[ ( elem.nodeName + " " ).toLowerCase() ], + nodeType = +elem.nodeType || 1; + + // Do not set data on non-element DOM nodes because it will not be cleared (#8335). + return nodeType !== 1 && nodeType !== 9 ? + false : + + // Nodes accept data unless otherwise specified; rejection can be conditional + !noData || noData !== true && elem.getAttribute( "classid" ) === noData; +}; + + + + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /([A-Z])/g; + +function dataAttr( elem, key, data ) { + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[ name ] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + +function internalData( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !acceptData( elem ) ) { + return; + } + + var ret, thisCache, + internalKey = jQuery.expando, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( ( !id || !cache[ id ] || ( !pvt && !cache[ id ].data ) ) && + data === undefined && typeof name === "string" ) { + return; + } + + if ( !id ) { + + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + + // Avoid exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( typeof name === "string" ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !acceptData( elem ) ) { + return; + } + + var thisCache, i, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split( " " ); + } + } + } else { + + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + i = name.length; + while ( i-- ) { + delete thisCache[ name[ i ] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( pvt ? !isEmptyDataObject( thisCache ) : !jQuery.isEmptyObject( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + /* jshint eqeqeq: false */ + } else if ( support.deleteExpando || cache != cache.window ) { + /* jshint eqeqeq: true */ + delete cache[ id ]; + + // When all else fails, undefined + } else { + cache[ id ] = undefined; + } +} + +jQuery.extend( { + cache: {}, + + // The following elements (space-suffixed to avoid Object.prototype collisions) + // throw uncatchable exceptions if you attempt to set expando properties + noData: { + "applet ": true, + "embed ": true, + + // ...but Flash objects (which have this classid) *can* handle expandos + "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[ jQuery.expando ] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Special expections of .data basically thwart jQuery.access, + // so implement the relevant behavior ourselves + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + jQuery.data( this, key ); + } ); + } + + return arguments.length > 1 ? + + // Sets one value + this.each( function() { + jQuery.data( this, key, value ); + } ) : + + // Gets one value + // Try to fetch any internally stored data first + elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; + }, + + removeData: function( key ) { + return this.each( function() { + jQuery.removeData( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = jQuery._data( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, + // or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); + + +( function() { + var shrinkWrapBlocksVal; + + support.shrinkWrapBlocks = function() { + if ( shrinkWrapBlocksVal != null ) { + return shrinkWrapBlocksVal; + } + + // Will be changed later if needed. + shrinkWrapBlocksVal = false; + + // Minified: var b,c,d + var div, body, container; + + body = document.getElementsByTagName( "body" )[ 0 ]; + if ( !body || !body.style ) { + + // Test fired too early or in an unsupported environment, exit. + return; + } + + // Setup + div = document.createElement( "div" ); + container = document.createElement( "div" ); + container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; + body.appendChild( container ).appendChild( div ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + if ( typeof div.style.zoom !== "undefined" ) { + + // Reset CSS: box-sizing; display; margin; border + div.style.cssText = + + // Support: Firefox<29, Android 2.3 + // Vendor-prefix box-sizing + "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + + "box-sizing:content-box;display:block;margin:0;border:0;" + + "padding:1px;width:1px;zoom:1"; + div.appendChild( document.createElement( "div" ) ).style.width = "5px"; + shrinkWrapBlocksVal = div.offsetWidth !== 3; + } + + body.removeChild( container ); + + return shrinkWrapBlocksVal; + }; + +} )(); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHidden = function( elem, el ) { + + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || + !jQuery.contains( elem.ownerDocument, elem ); + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { return tween.cur(); } : + function() { return jQuery.css( elem, prop, "" ); }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( + elems[ i ], + key, + raw ? value : value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[ 0 ], key ) : emptyGet; +}; +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([\w:-]+)/ ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + +var rleadingWhitespace = ( /^\s+/ ); + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|" + + "details|dialog|figcaption|figure|footer|header|hgroup|main|" + + "mark|meter|nav|output|picture|progress|section|summary|template|time|video"; + + + +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + + +( function() { + var div = document.createElement( "div" ), + fragment = document.createDocumentFragment(), + input = document.createElement( "input" ); + + // Setup + div.innerHTML = "
a"; + + // IE strips leading whitespace when .innerHTML is used + support.leadingWhitespace = div.firstChild.nodeType === 3; + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + support.tbody = !div.getElementsByTagName( "tbody" ).length; + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + support.html5Clone = + document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav>"; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + input.type = "checkbox"; + input.checked = true; + fragment.appendChild( input ); + support.appendChecked = input.checked; + + // Make sure textarea (and checkbox) defaultValue is properly cloned + // Support: IE6-IE11+ + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // #11217 - WebKit loses check when the name is after the checked attribute + fragment.appendChild( div ); + + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input = document.createElement( "input" ); + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 + // old WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Cloned elements keep attachEvent handlers, we use addEventListener on IE9+ + support.noCloneEvent = !!div.addEventListener; + + // Support: IE<9 + // Since attributes and properties are the same in IE, + // cleanData must set properties to undefined rather than use removeAttribute + div[ jQuery.expando ] = 1; + support.attributes = !div.getAttribute( jQuery.expando ); +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + area: [ 1, "", "" ], + + // Support: IE8 + param: [ 1, "", "" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + col: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
", "
" ] +}; + +// Support: IE8-IE9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== "undefined" ? + context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; + ( elem = elems[ i ] ) != null; + i++ + ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; ( elem = elems[ i ] ) != null; i++ ) { + jQuery._data( + elem, + "globalEval", + !refElements || jQuery._data( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/, + rtbody = / from table fragments + if ( !support.tbody ) { + + // String was a , *may* have spurious + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare or + wrap[ 1 ] === "
" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( ( tbody = elem.childNodes[ j ] ), "tbody" ) && + !tbody.childNodes.length ) { + + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; +} + + +( function() { + var i, eventName, + div = document.createElement( "div" ); + + // Support: IE<9 (lack submit/change bubble), Firefox (lack focus(in | out) events) + for ( i in { submit: true, change: true, focusin: true } ) { + eventName = "on" + i; + + if ( !( support[ i ] = eventName in window ) ) { + + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) + div.setAttribute( eventName, "t" ); + support[ i ] = div.attributes[ eventName ].expando === false; + } + } + + // Null elements to avoid leaks in IE. + div = null; +} )(); + + +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE9 +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && + ( !e || jQuery.event.triggered !== e.type ) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + + // Add elem as a property of the handle fn to prevent a memory leak + // with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && + jQuery._data( cur, "handle" ); + + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( + ( !special._default || + special._default.apply( eventPath.pop(), data ) === false + ) && acceptData( elem ) + ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Support (at least): Chrome, IE9 + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // + // Support: Firefox<=42+ + // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) + if ( delegateCount && cur.nodeType && + ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { + + /* jshint eqeqeq: false */ + for ( ; cur != this; cur = cur.parentNode || this ) { + /* jshint eqeqeq: true */ + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push( { elem: cur, handlers: matches } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Safari 6-8+ + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + + "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split( " " ), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: ( "button buttons clientX clientY fromElement offsetX offsetY " + + "pageX pageY screenX screenY toElement" ).split( " " ), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - + ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - + ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? + original.toElement : + fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + // Piggyback on a donor event to simulate a different one + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + + // Previously, `originalEvent: {}` was set here, so stopPropagation call + // would not be triggered on donor event, since in our own + // jQuery.event.stopPropagation function we had a check for existence of + // originalEvent.stopPropagation method, so, consequently it would be a noop. + // + // Guard for simulated events was moved to jQuery.event.stopPropagation function + // since `originalEvent` should point to the original event for the + // constancy with other events and for more focused logic + } + ); + + jQuery.event.trigger( e, null, elem ); + + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, + // to properly expose it to GC + if ( typeof elem[ name ] === "undefined" ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: IE < 9, Android < 4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( !e || this.isSimulated ) { + return; + } + + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && e.stopImmediatePropagation ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://code.google.com/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +// IE submit delegation +if ( !support.submit ) { + + jQuery.event.special.submit = { + setup: function() { + + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? + + // Support: IE <=8 + // We use jQuery.prop instead of elem.form + // to allow fixing the IE8 delegated submit issue (gh-2332) + // by 3rd party polyfills/workarounds. + jQuery.prop( elem, "form" ) : + undefined; + + if ( form && !jQuery._data( form, "submit" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submitBubble = true; + } ); + jQuery._data( form, "submit", true ); + } + } ); + + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + + // If form was submitted by the user, bubble the event up the tree + if ( event._submitBubble ) { + delete event._submitBubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event ); + } + } + }, + + teardown: function() { + + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !support.change ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._justChanged = true; + } + } ); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._justChanged && !event.isTrigger ) { + this._justChanged = false; + } + + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event ); + } ); + } + return false; + } + + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "change" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event ); + } + } ); + jQuery._data( elem, "change", true ); + } + } ); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || + ( elem.type !== "radio" && elem.type !== "checkbox" ) ) { + + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Support: Firefox +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome, Safari +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = jQuery._data( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = jQuery._data( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + jQuery._removeData( doc, fix ); + } else { + jQuery._data( doc, fix, attaches ); + } + } + }; + } ); +} + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + }, + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +var rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp( "<(?:" + nodeNames + ")[\\s/>]", "i" ), + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, + + // Support: IE 10-11, Edge 10240+ + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement( "div" ) ); + +// Support: IE<8 +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName( "tbody" )[ 0 ] || + elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( jQuery.find.attr( elem, "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + return elem; +} + +function cloneCopyEvent( src, dest ) { + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( support.html5Clone && ( src.innerHTML && !jQuery.trim( dest.innerHTML ) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( + ( node.text || node.textContent || node.innerHTML || "" ) + .replace( rcleanScript, "" ) + ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + elems = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = elems[ i ] ) != null; i++ ) { + + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( support.html5Clone || jQuery.isXMLDoc( elem ) || + !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( ( !support.noCloneEvent || !support.noCloneChecked ) && + ( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; ( node = srcElements[ i ] ) != null; ++i ) { + + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[ i ] ) { + fixCloneNodeIssues( node, destElements[ i ] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; ( node = srcElements[ i ] ) != null; i++ ) { + cloneCopyEvent( node, destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + cleanData: function( elems, /* internal */ forceAcceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + attributes = support.attributes, + special = jQuery.event.special; + + for ( ; ( elem = elems[ i ] ) != null; i++ ) { + if ( forceAcceptData || acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // Support: IE<9 + // IE does not allow us to delete expando properties from nodes + // IE creates expando attributes along with the property + // IE does not have a removeAttribute function on Document nodes + if ( !attributes && typeof elem.removeAttribute !== "undefined" ) { + elem.removeAttribute( internalKey ); + + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://code.google.com/p/chromium/issues/detail?id=378607 + } else { + elem[ internalKey ] = undefined; + } + + deletedIds.push( id ); + } + } + } + } + } +} ); + +jQuery.fn.extend( { + + // Keep domManip exposed until 3.0 (gh-2225) + domManip: domManip, + + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( + ( this[ 0 ] && this[ 0 ].ownerDocument || document ).createTextNode( value ) + ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + + // Remove element nodes and prevent memory leaks + elem = this[ i ] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); + + +var iframe, + elemdisplay = { + + // Support: Firefox + // We have to pre-define these values for FF (#10227) + HTML: "block", + BODY: "block" + }; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ + +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + display = jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = ( iframe || jQuery( "