ruby-on-rails - 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',但我不希望这样,因为它是一个不同的组件。你知道为什么会出现这个问题吗?
在这里,我放了我使用的所有技术的版本:
- 导轨:导轨 6.1.4
- Ruby:ruby 2.7.0p0(2019-12-25 修订版 647ee6f091)[x86_64-linux-gnu]
- 宝石:3.1.2
- SQlite3:**3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1 **
- 非易失性:0.37.2
- 节点:v14.17.4
-操作系统: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()
请帮助,非常感谢!
解决方案
如果您使用的是设计:
<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>
推荐阅读
- .htaccess - .htaccess 使用正斜杠访问 PHP 方法中的变量的问题
- java - 如何在 lblText.steText() 中设置预定义消息
- machine-learning - 高斯进度回归用例
- sublimetext3 - Sublime Text 包,在行光标上显示 git 提交作者和文件内的文本
- html - HTML 邮件中邮件地址的内联样式
- codenameone - 代号一的多个 Websocket 会话
- graphql - GraphQL:模式必须定义查询操作
- javascript - TypeError:“无法读取未定义的属性‘问题’”
- swift - RxSwift 移除一个元素 BehaviorSubject
- file - 在 C++ 中读取带有前缀的 csv 浮点数列表