在jquery中访问rails params hash

时间:2015-02-19 14:05:25

标签: jquery ruby-on-rails ruby-on-rails-4

是否可以在jquery中访问Rails params hash?在提交表单之前,我需要在params中再添加一个键(表中只有一列)。

$('#form_id').submit(function() {
        // do some manipulation to get key
        params[key] = value;
        // params in rails hash 
        $('#form_id').submit();
 });

这可能吗?

2 个答案:

答案 0 :(得分:4)

您可以在JavaScript中为变量指定param的值,但是您需要确保escape the param以防止可能的XSS攻击。

<script>
  var key = "<%= j(params['key']) %>";
</script)>

...但您可能不需要使用JavaScript。如果您尝试使用表单提交其中一个参数,则可以使用隐藏的表单元素轻松传递它:

<input type="hidden" name="column" value="<%= j(params['key']) %>">

这将导致在表单提交时将param[:column]设置为给定的参数值。

答案 1 :(得分:1)

是的,这是可能的。

只需将jQuery代码添加到模板中,然后调用这样的params。我不知道你想要做什么,所以我只是展示如何访问params哈希。

Haml 版本:

:javascript
  console.log "#{j params[:key]}";

ERB 版本:

console.log "<%= j params[:key] %>";