【发布时间】:2018-01-20 05:53:33
【问题描述】:
将数据从 Ruby 传递到 Javascript 很容易,例如:
<script type="text/javascript">
function change_value(val){
alert ("<%= @alert %>")
}
}
</script>
这将发送一个警报,其中包含存储在控制器中警报变量中的数据。
但我不知道它是如何反向工作的,例如,如果我需要将元素 id 存储到控制器变量中:
<script type="text/javascript">
function change_value(element){
<% @element_id = *** element.id *** %>
alert ("<%= @element_id %>")
}
}
</script>
接下来才是真正的交易,由 *** 放弃的代码应该是所需的 javascript 值(@billeable_qts 是一个哈希):
<script type="text/javascript">
function change_value(product){
<% @billeable_qts[****product.id****] = ***document.getElementById('product.id').value**** %>
<% @billeable_qts.each do |key, value| %>
<% alert = "Key = " + key + ", value: " + value.to_s%>
alert ("product: <%= alert %>")
<% end %>
}
</script>
【问题讨论】:
-
你不能。 javascript 正在浏览器中运行。要将这些类型的更改发布回您的应用程序,您必须执行 AJAX 请求之类的操作,这反过来会返回您的其他内容以在页面中呈现。
-
你昨天问过这个identical question。
标签: javascript ruby-on-rails ruby