swt2-intro-exercise / rails-exercise-22-Yannis-Hofmann

rails-exercise-22-Yannis-Hofmann created by GitHub Classroom
MIT License
0 stars 0 forks source link

Author index page should have a link to delete an author #10

Open swt2public opened 2 years ago

swt2public commented 2 years ago

Scenario

Given an author named 'Alan Turing' When users visit the authors index page Then it should have link to delete an author

Hints

To delete a record following the REST paradigm, a DELETE request needs to be made. As not many browsers support this directly, the DELETE call is made using JavaScript. Newer versions of Rails support this using the turbo dependency. Install it using rails importmap:install turbo:install stimulus:install (answer 'y' to overwrite existing files).

The following data attributes (read by JS) turn the usual GET request of a link into a DELETE (with confirmation messge): <%= link_to 'Delete', author_path(author), data: {turbo_method: :delete, turbo_confirm: "Are you sure?"} %>

After an author is deleted Author.count should have decreased.

A destroy controller action is needed. Here is the relevant section (5.13) of the Rails Guide. (Please be aware that the link_to syntax of the guide is outdated, see code above.)

Error

Expected to find css "a[data-turbo-method='delete'][href='/authors/1']" but there were no matches

18 exercise tests have passed. There are 44 in total. You will solve multiple at once towards the end.

swt2public commented 2 years ago

Sorry, it's not working for me yet:

Scenario

Given an author named 'Alan Turing' When users visit the authors index page And a user clicks the delete link Then no error should occour

Error

Got AbstractController::ActionNotFound: The action 'destroy' could not be found for AuthorsController

If you have problems solving this task, please don't hesitate to contact the teaching team!