【发布时间】:2020-12-14 05:49:13
【问题描述】:
昨天一切正常。在我恢复最后一个状态之前,我想了解实际破坏 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 工作正常。
是否有任何清单文件以某种方式损坏的可能性?
【问题讨论】:
-
也许你的画廊控制器中有重定向?!
-
在销毁操作完成之前
-
如果我将 link_to 简单地更改为 button_to 它可以工作,但是确认不起作用。
-
能贴出控制器代码吗?可能会有所帮助,也许你错过了什么。
-
当然,但如前所述,昨天一切正常,所以我认为,jquery 搞砸了。向上
标签: jquery ruby-on-rails