Я пытаюсь добавить возможность удаления модели кошелька в моей панели пользователя. Однако по какой-то причине Rails читает его как метод GET и выдает эту ошибку:
Нет совпадений с маршрутом [GET] "/ wallets / 1"
Мой файл просмотра:
= link_to 'Remove wallet', wallet_path(@wallet), method: :delete, data: { confirm: 'Are you sure?' }
Контроллер моих кошельков:
class WalletsController < ApplicationController
def create
@wallet = current_user.wallets.create(wallet_params)
if @wallet.save
redirect_to wallets_index_path
flash[:notice] = "New wallet has been added successfully"
else
render 'home/wallets_new'
flash[:alert] = "Your wallet could not be added. Please try again"
end
end
def destroy
@wallet.delete
redirect_to wallets_index_path, notice: 'Post has been deleted successfully'
end
маршруты:
devise_scope :user do
authenticated :user do
root to: 'home#wallets_index', as: :unauthenticated_root
resources :wallets, only: [:create, :destroy]
end
unauthenticated :user do
root to: 'home#index', as: :authenticated_root
end
end
и рейк-маршруты:
кошельки POST / кошельки (.: format) wallets # create
wallet DELETE /wallets/:id(.:format) wallets # destroy
Я не уверен, как обработать эту ошибку, так как я явно сказал Rails использовать метод DELETE через метод:: delete в моем помощнике link_to. Как я могу это исправить?