我有一个用于编辑个人资料的表单。 Rails自动生成表单id为'edit_profile _ ##',其中##是当前用户的profile id(实例变量 - @ profile_id)。我需要将这个表单id用于我的javascript函数。有没有办法在js中获取当前用户的个人资料ID?或者有没有办法可以通过rails覆盖自动id生成?
答案 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>
var userInfo = $('#thisThing').data('url')
现在你的.js中有userInfo(在字符串中)