如何在Ruby on Rails应用程序中访问Javascript函数中的实例变量?

时间:2010-07-01 04:27:54

标签: javascript ruby-on-rails

我有一个用于编辑个人资料的表单。 Rails自动生成表单id为'edit_profile _ ##',其中##是当前用户的profile id(实例变量 - @ profile_id)。我需要将这个表单id用于我的javascript函数。有没有办法在js中获取当前用户的个人资料ID?或者有没有办法可以通过rails覆盖自动id生成?

3 个答案:

答案 0 :(得分:7)

你必须使用函数参数

发送它

.html.erb

<script type="text/javascript">
   var user_id = <%= @profile_id %>; // for integer
   var user_name = '<%= @profile_name %>'; // for string

   abc(user_id)// this is your function in .js file

</script>

的.js

 function abc(id){
   alert(""+id)
 }

答案 1 :(得分:1)

您使用普通的* .html.erb观看次数吗?

你不能做类似的事情:

<script type="text/javascript">
    user_id = <%= @profile_id %>;
</script>

答案 2 :(得分:0)

假设您在控制器中有@user = {'name'=>'steve'}

现在您的html页面可以呈现<p> <%=@user['name']%> </p>

现在假设您希望能够访问.js文件中的@user;添加thisThing&amp; data-url到您的代码<p id="thisThing" data-url="<%=@user%>" > <%=@user['name']%> </p>

<。>在.js文件中var userInfo = $('#thisThing').data('url')

现在你的.js中有userInfo(在字符串中)