如何在RubyonRails应用程序中访问Javascript函数中的实例变量?
我有一个编辑个人资料的表格。Rails会自动将表单id生成为“edit_profile_35;##”,其中##是当前用户的配置文件id(实例变量-@profile_id)。我需要将此表单id用于javascript函数。有没有办法在js中获取当前用户的配置文件id?或者有没有一种方法可以覆盖rails自动生成的id 是否使用普通的*.html.erb视图 你不能做一些像:如何在RubyonRails应用程序中访问Javascript函数中的实例变量?,javascript,ruby-on-rails,Javascript,Ruby On Rails,我有一个编辑个人资料的表格。Rails会自动将表单id生成为“edit_profile_35;##”,其中##是当前用户的配置文件id(实例变量-@profile_id)。我需要将此表单id用于javascript函数。有没有办法在js中获取当前用户的配置文件id?或者有没有一种方法可以覆盖rails自动生成的id 是否使用普通的*.html.erb视图 你不能做一些像: <script type="text/javascript"> user_id = <%= @pr
<script type="text/javascript">
user_id = <%= @profile_id %>;
</script>
用户_id=;
?您必须使用函数参数发送 .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>
假设控制器中有
@user={'name'=>'steve'}
现在,您的html页面可以呈现
现在让我们假设您希望能够访问.js文件中的@user;将thisThing和数据url添加到您的标记
在.js文件中var userInfo=$('#thisThing').data('url')
现在,您的.js中有了userInfo(字符串)是的,我确实使用html.erb视图。你的意思是说我可以把它包含在我的html.erb文件中?但是我如何访问我的.js文件中的用户id呢?我不知道你的js文件是如何存在的。但是您可以创建方法,然后传递参数,或者创建一个全局变量(就像在我的示例中,虽然我不建议这样做)。好的,谢谢。那么这是唯一的办法了?我想看看是否有一种方法不在函数调用中传递它。因为我的js函数(见下面的submitProfileForm)实际上是一个事件处理程序,只有在表单提交事件时才需要调用它;是的,这是访问.js文件中实例变量的唯一方法
function abc(id){
alert(""+id)
}