如何隐藏从 Rails 视图传递到 javascript/coffee 的数据?

How to hide data passed from Rails view to javascript/coffee?

我正在尝试将数据从控制器传递到我的 javascript(.coffee 文件),并且我找到了几种不同的方法来做到这一点,例如使用 [=16= 中的数据属性] 像这样 <%= content_tag "div", id:"answers", data-answer='<%=@answer%>' 我已经尝试了 gon gem,但问题是,数据显示在 html 中,我想从 html 因为我正在制作一个测验应用程序并且用户不应该在 html 中轻易地看到答案,尽管我不介意它在 .coffee 文件中。有什么办法吗?

是的,有多种方法可以按照您的描述进行操作。但是,首先,我会这样写:

<%= content_tag "div", id:"answers", data-answer='<%=@answer%>'

像这样:

<%= content_tag :div, id: "answers", data: {answer: @answer} %>

然后,在您的 .coffee 文件中,您可以按照

@$answer = $('#answer').data().answer
$('#answer').remove

这会将 answer 值赋给变量 @$answer,然后从 DOM 中删除原来的 div,这样用户就看不到它了。