・起きている問題
GithubにPushしたもので、投稿したTaskの削除が出来ない。
下記のように、コード部分には特に欠陥はないように見える。
config.routes.rb
resources :tasks
app/tasks_Controller.rb
def destroy
@task.destroy
flash[:success] = 'Task は正常に削除されました'
redirect_to tasks_url
end
app/views/tasks/show.html.erb
<%= link_to 'このタスクを編集する', edit_task_path(@task), class: 'btn btn-light' %>
<%= link_to 'このタスクを削除する', @task, method: :delete, data: { confirm: '本当に削除してよろしいですか?' }, class: 'btn btn-danger' %>
エディタ(Cloud9)上では画像のように問題なく削除できるが、Githubからクローンしたものだと出来ない。
https://gyazo.com/a45f5e33d2626d6bc69393c2ff729c7b
・原因
コードそのものではなく、 rails new
を実行してアプリを作成し始めた際に、--skip-active-storage
を付け忘れていたのが要因かと思われる。
・対処法
app/javascript/packs/application.js
import Rails from "@rails/ujs"
import Turbolinks from "turbolinks"
import * as ActiveStorage from "@rails/activestorage"
import "channels"
Rails.start()
Turbolinks.start()
ActiveStorage.start()
↑の
3行目: import * as ActiveStorage from "@rails/activestorage"
と
最後の行: ActiveStorage.start()
を削除する。
・結果
Githubからクローンしたものでも問題なく削除することができました。
アプリを作成する初期の段階でミスをすると、その後の開発している段階での戻り作業が大変になるので、気をつけたいですね。