Это происходит потому, что либо JavaScript в вашем браузере отключен (например, через блок скриптов), либо, как уже писал SeasonHuang, jquery_ujs.js загружен неправильно.
Если вы вызовете rake routes
, вы увидите что-то вроде:
GET /microposts/:id Microposts#show
DELETE /microposts/:id Microposts#destroy
Так что путь показать и уничтожить один и тот же. Они отличаются по методу HTTP. Но поскольку HTML-формы не могут отправлять запросы DELETE, мы должны делать это с помощью JavaScrip. Без этого вы сделаете запрос GET, чтобы показать метод, который еще не определен в вашем контроллере.