javascript - 如果文本来自控制器变量,Rails 确认弹出文本不显示
问题描述
在submit_tag
Rails 视图的确认弹出窗口中,我尝试使用 Rails 控制器中的实例变量。在我的控制器中,我定义了我的变量,例如
@confirmation_msg = "test"
然后在我.haml
看来,我尝试将变量作为确认提示文本插入到我的submit_tag
.
= submit_tag "Increase Limits", { onclick: "return confirm(#{@confirmation_msg})", class: "btn btn-danger"}
但是现在我的确认提示现在弹出为空白,没有文字。取消和确定按钮仍然存在。如果我更改"return confirm(#{@confirmation_msg})"
为"return confirm('test')"
我看到“测试”。当我尝试使用控制器中的变量时,为什么它是空白的?
解决方案
您是在设置字符串还是其他?
@confirmation_msg = test <--- is this a variable that holds a string or you mispelled "test"?
如果@confirmation_msg
最后是一个字符串,则用(单引号或双引号)将其括起来:
"return confirm('#{@confirmation_msg}')"
如果您有新行和/或特殊字符,最好也转义内容:
"return confirm('#{ j @confirmation_msg }')"
(该j
方法是该方法的一个方便的别名escape_javascript
)
推荐阅读
- google-cloud-dataflow - 没有出站网络连接的 Flex 模板 Python 依赖项管理
- c# - 如何从资源文件夹中的文本文件中读取并输出到数组中
- angular - 为什么可以打印 http 调用(可观察)的结果但不能保存在变量中?
- java - 在 Play 商店发布应用时如何处理 .so 文件?
- php - 以编程方式添加元键和元值以在 wordpress 中发布(woocommerce)
- c# - netcore - api 版本控制返回 404
- openstack - Openstack:主机名附加“novalocal”
- css - 将表格样式添加到新的 API 管理门户
- node.js - 取回单个用户 Node.JS
- node.js - Intel SGX RemoteAttestation:无法在客户端验证 SP 的签名