首页 > 解决方案 > Ruby on rails 上的路由和操作问题

问题描述

我已经学习了几天 Rails,我目前正在做一个带有用户身份验证等的朋友列表项目。问题是如果不使用指令“button_to”,我就无法调用删除操作。这是一个例子:

        <li class="nav-item">
            <%= link_to 'Sign In', new_user_session_path, class:"nav-link" %>
        </li>

        <li class="nav-item">
            <%= button_to 'Sign Out', destroy_user_session_path,method: :delete ,class:"nav-link" %>
        </li>

        <li class="nav-item">
            <%= link_to 'Edit Profile', edit_user_registration_path, class:"nav-link" %>
        </li>

这些是我的导航栏链接,你可以看到我必须放 'button_to' 而不是 'link_to',但我不希望这样,因为它是一个不同的组件。你知道为什么会出现这个问题吗?

在这里,我放了我使用的所有技术的版本:

-操作系统:Ubuntu 20.04.2 LTS

应用程序.js


// This file is automatically compiled by Webpack, along with any other files
// present in this directory. You're encouraged to place your actual application logic in 
// a relevant structure within app/javascript and only use these pack files to reference 
// that code so it'll be compiled. 

//= require jquery 
//= require jquery_ujs 
import Rails from "@rails/ujs" 
import Turbolinks from "turbolinks" 
import * as ActiveStorage from "@rails/activestorage" 
import "channels" 
Rails.start() 
Turbolinks.start() 
ActiveStorage.start()

请帮助,非常感谢!

标签: ruby-on-rails

解决方案


如果您使用的是设计:

<li>
  <%= link_to destroy_user_session_path(:authenticity_token => form_authenticity_token()), method: :delete, class: 'tooltips' do %>
    <i class="fa fa-power-off"></i> Log Out
  <% end %>
</li>

推荐阅读