传递rails形成params到jQuery

时间:2017-09-09 15:51:36

标签: jquery ruby-on-rails

我想将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。 这有更好,更新的解决方案吗?这被认为是安全的吗?

1 个答案:

答案 0 :(得分:0)

  

这被认为是安全的吗?

取决于您在此处存储的数据,但一般情况下,如果您认为此数据敏感,则不会认为有人可以检查HTML元素并轻松更改值,然后您可以让某人将他想要的内容传递给您的jquery代码

  

问题是,这个技巧真的很老了。我正在使用Rails 5.是否有比这更好,更新的解决方案?

我不确定我明白你想做什么,但如果你想阅读Get参数,那么你可以直接read them from your js code

另一种方法是在你js脚本中使用嵌入式ruby然后你可以直接从那里读取参数

var datadump = <%= params[:...] %>

否则,您的方法将执行