我想将params hash传递给jQuery。 问题是,我想传递一个字符串数组。
目前我正在使用: 在HAML:
.hidden{id: 'correct_solutions_params', data: {correct_solutions: params[:task][:correct_solutions]}}
,它提供以下HTML:
<div class="hidden" data-correct-solutions="["a", "c", "d"]" id="correct_solutions_params"></div>
显然
params[:task][:correct_solutions] = ['a', 'c', 'd']
现在我应该访问jQuery中的数据(还没有尝试,但是应该可以工作):
var datadump = ($('#correct_solutions_params').data('correct-solutions'));
问题是,这个技巧真的很老了。我正在使用Rails 5。 这有更好,更新的解决方案吗?这被认为是安全的吗?
答案 0 :(得分:0)
这被认为是安全的吗?
取决于您在此处存储的数据,但一般情况下,如果您认为此数据敏感,则不会认为有人可以检查HTML元素并轻松更改值,然后您可以让某人将他想要的内容传递给您的jquery代码
问题是,这个技巧真的很老了。我正在使用Rails 5.是否有比这更好,更新的解决方案?
我不确定我明白你想做什么,但如果你想阅读Get
参数,那么你可以直接read them from your js
code
另一种方法是在你js
脚本中使用嵌入式ruby然后你可以直接从那里读取参数
var datadump = <%= params[:...] %>
否则,您的方法将执行