如何在Rails中的erb代码中使用JavaScript变量?

我有一个JavaScript变量:

var selectValUser = $('.select_user :selected').val(); 

我需要在同一页面上的erb代码中使用此变量,即

  

我该怎么做?

你不能这样做,因为javascript在客户端运行,而ERB文件中的代码在服务器端运行,你可以使用ajax请求发送值,这里是一个很棒的rails cast

这是一个从javascript向控制器发送消息的示例; 当用户点击申请时,我们在控制器中有一个动作’set_id’,它获得权力,进行validation等,在视图中的’id_message’div中显示消息。

  $('#apply').live('click', function(event, data, status, xhr) { event.preventDefault(); return $.ajax({ url: '/users/registrations/set_id', type: 'GET', data: { code: $('#user_id').val() }, success: function(data, event, status, xhr) { $('#id_message').html(response); return $("#id_message").show(); }, error: function(event, data, status, xhr) { $('#id_message').html(response); return $("#id_message").show(); } }); }); 

希望它会回答你的问题

没有办法直接做到。 原因是,html在您的服务器端运行,而javascript在您的本地浏览器中运行。

可在此处找到其他讨论。

如何在js视图中将javascript变量传递给erb代码?

关于尝试不同的方法,你可以从这开始。

http://jing.io/t/pass-javascript-variables-to-rails-controller.html

http://www.ruby-forum.com/topic/3818171