【发布时间】:2019-09-08 21:52:07
【问题描述】:
我一直在开发我的 rails 应用程序 - 我对 Rails 比较陌生,并试图熟悉 javascript。 所以,我刚刚通过 Webpacker 添加了 SweetAlert2,它运行良好。 我有一个通过 Javascript 提交的表单,它也可以工作。
这是我的控制器操作:
def update
@user = @card.user
day = Date.today
if @card.update(card_params)
respond_to do |format|
format.js {}
end
end
end
因此,当执行此操作并提交表单时,我正在从我在 application.js 中导入的 index.js 文件中调用一个 JS 函数。
Index.js:
import swal from 'sweetalert2'
import Rails from '@rails/ujs'
$(function() {
$('#vollkostForm').submit(function(){
swal.fire({
title: "Bestellung abgeschlossen!",
text: "Die Mahlzeit wurde erfolgreich bestellt",
type: "success"
});
$('#vollkostModal').modal('hide');
});
});
这工作正常,警报正在显示。
但是我想要实现的(因为这应该只在表单提交成功的情况下运行),是这个函数在对应的update.js.erb文件中,属于format.js {}块。
我尝试了所有方法,但不知道如何将此 SweetAlert 库导入 update.js.erb。
我总是收到“swal 未定义”的错误消息 - 如果我只使用类似 alert("Hello!") 之类的东西,这可以正常工作。
我只是无法使用或导入第三方插件来正常工作。
感谢您的建议! :)
【问题讨论】:
标签: javascript ruby-on-rails ruby erb