在javascript函数中设置Rails变量有什么问题吗?我无法谷歌一个definete的答案,只是想确保没有我不知道的捕获或缺陷.我真的很困惑这是如何工作的 - 如果在客户端执行javascript,我不会假设Rails会在视图渲染后响应视图中的变量..?
(示例)我有多个函数调用相同的表单,我需要知道哪个函数称为表单在控制器方法中执行特定任务(在这种情况下会话是一个cookie,但我也尝试了一个本地Rails变量,它同样有效).
<script type="text/javascript">
$('.open_new_item_form' ).click(function(){
alert('<%= session[:item_form_type]%>');
<% session[:item_form_type] = "from_new_item_click" %>
alert('<%= session[:item_form_type]%>');
var url = $(this).attr("href");
$.ajax({
etc...
Run Code Online (Sandbox Code Playgroud)
警报似乎表明它运作良好.它将使用当前的valute警告,然后在set之后发出新的"from_new_item"值.
谢谢 - 只是确定
您的erb文件正在服务器上完全解释; 此行将作为呈现javascript的一部分执行,而不是在客户端上执行javascript时:
<% session[:item_form_type] = "from_new_item_click" %>
Run Code Online (Sandbox Code Playgroud)
如果将此行代码放在if评估为的javascript 块中false,则服务器端变量仍将更改:
if(0){<% session[:item_form_type] = "from_new_item_click" %>;}
Run Code Online (Sandbox Code Playgroud)
(原谅我的pidgin -javascript,它不是我说的语言.)
| 归档时间: |
|
| 查看次数: |
3999 次 |
| 最近记录: |