如何在 Rails 的 erb 代码中使用 JavaScript 变量? [英] How to use a JavaScript variable in erb code in Rails?

查看:47
本文介绍了如何在 Rails 的 erb 代码中使用 JavaScript 变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 JavaScript 变量:

I have a JavaScript variable:

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

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

I need to use this variable in erb code on the same page, i.e

<%= get_free_hours_for_user(selectValUser) %>

我该怎么做?

推荐答案

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

You cannot do it because javascript run on client side while the code in ERB file runs at server side, you can send the value using ajax request, Plus here is an awsome rails cast

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

Here is an example to send message from javascript to controller; When user click on apply we have an action 'set_id' in controller, it get the power, do the validations etc, the show the message in 'id_message' div in views.

  $('#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();
      }
    });
  });

希望它能回答你的问题

这篇关于如何在 Rails 的 erb 代码中使用 JavaScript 变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆