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

Ina*_*ble 2 javascript ruby-on-rails

我有一个 JavaScript 变量:

var selectValUser = $('.select_user :selected').val();
Run Code Online (Sandbox Code Playgroud)

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

<%= get_free_hours_for_user(selectValUser) %>
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

Muh*_*ais 7

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

这是一个从 javascript 向控制器发送消息的示例;当用户单击“应用”时,我们在控制器中有一个操作“set_id”,它获得权力,进行验证等,并在视图中的“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();
      }
    });
  });
Run Code Online (Sandbox Code Playgroud)

希望它能回答你的问题