1

JavaScript 変数があります。

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

同じページのerbコードでこの変数を使用する必要があります。

<%= get_free_hours_for_user(selectValUser) %>

どうすればいいですか?

4

2 に答える 2

5

ERBファイルのコードがサーバー側で実行されている間にjavascriptがクライアント側で実行されるため、それを行うことはできません。ajaxリクエストを使用して値を送信できます。さらに、ここに素晴らしいレールキャストがあります

これは、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();
      }
    });
  });

それがあなたの質問に答えることを願っています

于 2012-12-29T09:11:20.243 に答える
0

直接行う方法はありません。理由は、html はサーバー側で実行されますが、javascript はローカル ブラウザーで実行されます。

追加の議論はここにあります。

javascript変数をjsビューのerbコードに渡す方法は?

そして、それを試す別の方法については、これから始めることができます。

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

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

于 2012-12-29T09:05:25.880 に答える