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.
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 usingrails 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 thelink_to
syntax of the guide is outdated, see code above.)Error
18 exercise tests have passed. There are 44 in total. You will solve multiple at once towards the end.