是否可以在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();
});
这可能吗?
答案 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] %>";