【发布时间】:2022-08-06 02:37:26
【问题描述】:
当我单击删除时,警报不显示并转到此路径course_path,但不要删除课程。
def destroy
authorize @course
@course.destroy
respond_to do |format|
format.html { redirect_to courses_url, notice: \"Course was successfully destroyed.\" }
format.json { head :no_content }
end
end
before_action :set_course, only: %i[ show edit update destroy ]
风景:
= link_to \'Destroy\', course, method: :delete, data: { confirm: \'Are you sure?\' }, class: \'btn btn-sm btn-danger\'
_messages.htm.haml 文件是:
- flash.each do |name, msg|
- if msg.is_a?(String)
%div{:class => \"alert alert-#{name.to_s == \'notice\' ? \'success\' : \'danger\'}\", :rol => \"alert\"}
%button.close{\"aria-hidden\" => \"true\", \"data-dismiss\" => \"alert\", :type => \"button\"} ✘
= content_tag :div, msg, :id => \"flash_#{name}\"
如何解决这个问题?
jQuery 会不会有问题?
-
您可以共享您的 Rails 服务器的日志,这将有助于其他人调试
-
data-method=\"delete\"和data-confirm都由 Rails UJS 处理。它被重写以删除 Rails 5 中的 jQuery 依赖方式,并被 Rails 7 中的 Turbo 默认替换。Rails 7 也有一个全新的资产管道,所以如果你正在升级,你可能已经破坏了你现有的资产.我有一种感觉,在接下来的几个月里,我们会看到很多这个通常无法回答的问题。 -
如果您想继续使用 Rails UJS,您需要确保它确实包含在您的页面中,并且您没有任何阻止它工作的脚本错误。如果您想咬紧牙关,这里有升级到Turbo 的指南。
标签: ruby-on-rails ruby ruby-on-rails-7