【发布时间】:2017-02-25 21:19:47
【问题描述】:
有没有一种方法可以将数据附加到 Rails 中的元素,如 jQuery。 例如,如果你有
var element = $('element');
element.data('i', 'Hello world');
在 jquery 中,您可以稍后检索该数据:
console.log(element.data('i));
会导致
世界你好
这样,它将信息存储在一个不起眼的地方,从而导致无法从 jQuery 外部直接访问的变量。
相反,现在我只知道使用 Rails 附加 HTML 数据属性:
<%= content_tag(:div, "Something", data: { i: 'Hello world' }) %>
这相当于在 jQuery 中设置 .attr()。
设置 HTML 数据属性会导致:
- 检查时元素的可见性
- 不能是对象
所以本质上,我想在这里问的是,我可以在 Rails 中附加 jQuery 数据集吗:
- 只能从
.data()访问 - 无法从 .attr() 或其他任何地方访问
- 检查时元素上不公开可见
【问题讨论】:
-
数据属性有什么问题?
-
@muistooshort 可以在源码中查看。
-
任何存储在客户端的东西都很容易看到。客户端中可访问的任何内容都很容易看到。
标签: javascript jquery html ruby-on-rails