在jQuery中访问rails的动态表单id

在jQuery中访问rails的动态表单id,jquery,ruby-on-rails-4,Jquery,Ruby On Rails 4,我有一个带有动态edit\u user\u dynamic\u id的表单。如何在jQuery中访问它。下面是app.js中的代码,但它似乎不起作用 $(function() { $('#edit_user_<%= @user.id %>').submit(function(){ }) }) $(函数(){ $('#编辑用户)。提交(函数(){ }) }) 问题在于外部JavaScript文件被视为静态文件,而不是由服务器端脚本处理 选项1:在视图中,输出带有脚本标记的用

我有一个带有动态
edit\u user\u dynamic\u id
的表单。如何在jQuery中访问它。下面是
app.js
中的代码,但它似乎不起作用

$(function() {
  $('#edit_user_<%= @user.id %>').submit(function(){

  })
})
$(函数(){
$('#编辑用户)。提交(函数(){
})
})

问题在于外部JavaScript文件被视为静态文件,而不是由服务器端脚本处理

选项1:在视图中,输出带有脚本标记的用户ID:

<script>var userId = "<%= @user.id %>";</script>

选项2:使用选择器匹配ID以
edit\u user\u
开头的任何元素:

$('form[id^="edit_user_"]').submit(function(){

});

@阿德内奥:很抱歉,这是我这边的一个输入错误。如果你把这段代码放在视图文件而不是javascript文件中呢?在页面的某个地方添加
,你会看到什么?app.js是静态的,或者是服务器端呈现的?@RobSedgwick:这是什么意思?。如何验证?第二种方法有效,你能解释一下为什么我的JS文件被视为静态文件,以及如何使其成为服务器端文件。JavaScript、CSS、图像等通常不由服务器端语言处理,因为它们通常不需要服务器端变量。如果有,最常见的解决方案是输出答案中的变量。如果这不起作用,请检查HTML源代码,查看变量是否按应有的方式输出。这是rails的方式吗?我觉得很奇怪。我们可以在纯JS文件上执行ruby。
$('form[id^="edit_user_"]').submit(function(){

});