Rails: не могу найти метод удаления. Рендеринг получить метод вместо - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь добавить возможность удаления модели кошелька в моей панели пользователя. Однако по какой-то причине 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. Как я могу это исправить?

1 Ответ

1 голос
/ 26 февраля 2020

есть ли у вас

<%= javascript_include_tag 'application' %>

в вашем приложении. html .erb?

, если нет, то это может быть причиной. Смотри также здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...