jquery - Rails6 Link_to Delete 显示 Showview
问题描述
昨天一切正常。在我恢复最后一个状态之前,我想了解实际破坏 jquery 数据方法的原因:删除并将其路由到显示视图。到目前为止,我什至不知道 jquery 是否正在工作。Lightbox 运行良好,但像这样测试 jquery:Testing jquery in Rails 6给了我一个隐藏的 div。
我已经通过“yarn add jquery”添加了 jquery - 没有错误
我已经添加到我的 application.js 中:
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("jquery")
require("channels")
require("packs/lightbox")
这对我的 environment.js:
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.prepend('Provide', new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default']
}))
module.exports = environment
第一个神秘的行为是,我必须在我的包目录中创建一个 lightbox.js 文件。在 application.js 中的简单导入不起作用。
接下来的事情是,我的删除方法的 link_to 中断并显示了显示视图:
<%= link_to 'Delete', gallery, :class => "btn btn-danger btn-sm text-white", method: :delete, data: { confirm: "Are you sure?" } %>
这给了我正确的html:
<a class="btn btn-danger btn-sm text-white" data-confirm="Are you sure?
This action will delete all image assignments to this gallery." rel="nofollow" data-method="delete" href="/galleries/21">Delete</a>
这是控制器方法:
# DELETE /galleries/1
# DELETE /galleries/1.json
def destroy
@gallery.destroy
respond_to do |format|
format.html { redirect_to galleries_path, notice: 'Gallery was successfully deleted.' }
format.json { head :no_content }
end
end
但它指示显示视图,所以我什至不知道 jquery 是否正在工作,因为它看起来不会,而且灯箱仍在工作。昨天 link_to 工作正常。
是否有可能以某种方式破坏任何清单文件?
解决方案
将此添加到 enviroment.js
Rails: ['@rails/ujs']
推荐阅读
- javascript - 当用户放大/缩小时保持轮播幻灯片的结构/顺序
- python - 无法将 Ray Serve HTTP 代理绑定到“127.0.0.1:8000”
- c - c程序在一个框中打印问号作为输出
- javascript - 如何修复 DiscordAPIError:未知消息?
- c# - 压缩冗余/重叠数组数据
- python - Django REST在请求中获取嵌套数据
- python-3.x - 为 pyhton3.9.5 安装 matplotlib 并在我导入 matplotlib 时收到错误:ImportError: DLL load failed while importing _path:
- ruby-on-rails - 堆栈级别太深我什至如何开始调试
- swift - 在 SwiftUI 中单击标签栏项目时更改标签栏背景颜色
- python - Python Tkinter - 如何在 tk.toplevel 类中获取信息