如何将javascript变量作为局部变量传递给分部函数?轨道4+;哈姆

如何将javascript变量作为局部变量传递给分部函数?轨道4+;哈姆,javascript,ruby-on-rails,haml,partial,locals,Javascript,Ruby On Rails,Haml,Partial,Locals,我有一个表示用户列表的部分图标,我想让它为每个选中的用户发送一个不同的本地图标,以便用一个隐藏的输入刷新视图的一部分,该输入取本地图标的值。 我的用户部分中有以下内容: %li %a{ :href => "#", :onclick => "test("+user.id.to_s+","+id_current_user+");return false"} 这就是我正在调用的函数: :javascript function test(with_user, curren

我有一个表示用户列表的部分图标,我想让它为每个选中的用户发送一个不同的本地图标,以便用一个隐藏的输入刷新视图的一部分,该输入取本地图标的值。 我的用户部分中有以下内容:

  %li
    %a{ :href => "#", :onclick => "test("+user.id.to_s+","+id_current_user+");return false"}
这就是我正在调用的函数:

:javascript
   function test(with_user, current_user) {
   $("#messages-list").html('');
   $("#message-new").append("#{escape_javascript(render( partial:'messages/form',:locals => {:recipient_id => "with_user" } ))}");
   };
我们的想法是以局部变量的形式发送“with_user”javascript值,但我尝试了一切使其工作。不可能!有人能帮我吗?

这个
$(“#消息新建”).append(“#{escape_javascript(呈现(部分:'messages/form',:locals=>{:recipient_id=>”with_user“}”)
无法在浏览器中运行,因为它不知道如何执行ruby代码

我认为您可能需要返回并弄清楚为什么首先需要将其呈现为这样

编辑
这会阻碍解析器。服务器只向浏览器发送一次标记,因此一旦运行,它将不知道客户端上有任何动态javascript变量。我认为必须有更好的方法使用AJAX来实现这一点。

我不确定,但我认为您的js在到达客户端之前不会运行。此时,您是否可以访问存储在服务器上的部分文件?否,我得到的是一个良好的部分,其中字符串“with_user”作为收件人的id值。我想使用javascript函数calledIs的参数使其动态化。是否有办法使ruby代码理解“with_user”javascript值?我需要这个,因为我用相应的变量刷新了html的一部分。注意:浏览器理解这里的ruby代码,它可以工作,问题是,我没有找到一个解决方案,让ruby代码理解本地的javascript值。