"High Risk", "weight"=>"38.8", "stocks"=>[{"id"=>"id3", "name"=>"I-6ren">
gpt4 book ai didi

javascript - 将 Ruby 变量传递给 javascript 以进行发布

转载 作者:行者123 更新时间:2023-12-02 18:23:19 24 4
gpt4 key购买 nike

我的 View 中有 h 变量,h 变量:

[{"folder"=>"High Risk", "weight"=>"38.8", "stocks"=>[{"id"=>"id3", "name"=>"Indian Oil Corporation Ltd.", "weight"=>"14.4"}, {"id"=>"id5", "name"=>"Atul Auto Ltd.", "weight"=>"13.7"}, {"id"=>"id6", "name"=>"Hindustan Zinc Ltd.", "weight"=>"10.6"}]}, {"folder"=>"Expecting PE ratio", "weight"=>"42.3", "stocks"=>[{"id"=>"id7", "name"=>"Infosys Ltd.", "weight"=>"42.3"}]}, {"folder"=>"from kite", "weight"=>"12.8", "stocks"=>[{"id"=>"id8", "name"=>"Hindustan Unilever Ltd.", "weight"=>"12.8"}]}, {"folder"=>"Low Margin", "weight"=>"6.1", "stocks"=>[{"id"=>"id9", "name"=>"Jindal Steel & Power Ltd.", "weight"=>"6.1"}]}]

这是我在 view.erb 中的脚本

<script>
if (top.location != location) {
top.location.href = document.location.href ;
}
///Some function giving 'val' value

jQuery.ajax({
data: 'val=' + total_span,
dataType: 'script',
type: 'post',
url: "/portfolio/slide_change"
});

</script>

我有两个疑问:

1)我应该如何以及在哪里在javascript中声明新变量以从该文件中的ruby代码获取h值?(将h从ruby传递到javascript的方法)

2)我想用“val”将此变量也发布到反手,我该怎么做?是否可以一次发布两个变量或者我需要将 h 与“val”连接起来?

最佳答案

您可以在 ERB 中使用 ruby​​ 变量。假设您的 erb 中有变量 @stocks 可用,您可以使用 <%= @stocks.to_json %> 输出其 JSON 表示形式。所以在你的 view.erb 中你可以写:

<script>
if (top.location != location) {
top.location.href = document.location.href ;
}


var val = <%= h.to_json %>; //rendered view will have actual array there.

jQuery.ajax({
data: 'val=' + total_span,
dataType: 'script',
type: 'post',
url: "/portfolio/slide_change"
});

</script>

关于javascript - 将 Ruby 变量传递给 javascript 以进行发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18617663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com