ruby 应该执行destroy操作的link_to只调用我的Rails控制器的show操作

flseospp  于 2023-05-17  发布在  Ruby
关注(0)|答案(1)|浏览(128)

尝试在我的Movie控制器上实现一个简单的删除操作,但它只是通过运行控制器的show操作来重新加载页面。我用resources :movies生成了路由。
show.html.erb

<section class="admin">
      <%= link_to "Edit", edit_movie_path(@movie), class: "button" %>
      <%= link_to "Delete", movie_path(movie),
            data: { turbo_method: :delete , turbo_confirm: "Are you sure?" } %>
</section>

movies_controller.rb

def destroy
    @movie = Movie.find(params[:id])
    @movie.destroy
    redirect_to movies_url, status: :see_other
end

没有发生任何错误,但我可以在控制台中看到正在运行show操作,而不是destroy
我尝试删除控制器的destroy操作,看看是否出现错误,但没有-视图没有尝试使用destroy操作。

1aaf6o9v

1aaf6o9v1#

或者,也可以将button_to与destroy方法一起使用

<%= button_to "Delete this movie", @movie, method: :destroy, class:"btn btn-danger" %>

PS:我包括了Bootstrap中的类按钮危险,但是如果你不使用它,你可以删除它。

相关问题