Как напечатать переменную JavaScript в коде Ruby - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть список переключателей, и в зависимости от того, какой пользователь выбирает, должна отображаться кнопка.

  <div class="cobrado-anualmente-label">
    <div class="radio_seleccion_anual_payment margin-bottom-70">
      <div class="radio billed-anual_60-radio">
        <input id="plan_pro_talent" class="radio_money_value" name="radio-anual-payment-type" type="radio">
        <label for="radio-anual_60"><span class="radio-label"></span>$60</label>
      </div>

      <div class="radio billed-anual_100-radio">
        <input id="radio-anual_100" class="radio_money_value" name="radio-anual-payment-type" type="radio">
        <label for="radio-anual_100"><span class="radio-label"></span>$100</label>
      </div>

      <div class="radio billed-anual_250-radio">
        <input id="radio-anual_250" class="radio_money_value" name="radio-anual-payment-type" type="radio">
        <label for="radio-anual_250"><span class="radio-label"></span>$250</label>
      </div>

      <div class="radio billed-anual_500-radio">
        <input id="radio-anual_500" class="radio_money_value" name="radio-anual-payment-type" type="radio">
        <label for="radio-anual_500"><span class="radio-label"></span>$500</label>
      </div>
    </div>
  </div>

Я пытаюсь сгенерировать кнопки с помощью javascript, чтобы избежать многократного повторения одного и того же кода (кнопок много). В настоящее время кнопки обрабатываются таким образом в ruby:

  <%= button_tag "Contribute $60 a month", class: 'radio-anual_60 no_me_veo payment-action btn-plan button full-width margin-top-20', data:{ plan: @plan_pro_talent.id,key: @plan_pro_talent.name,month: @plan_pro_talent.monthly_amount,year: @plan_pro_talent.yearly_amount,plan_title: t('plan.plan3-titulo1') || '' } %>

кнопки должны быть сгенерированы, когда выбрана опция переключателя

, когда я пытаюсь показать содержимое javascript переменная внутри ruby "<% =%>" это не позволяет мне получить доступ к переменной. Я получаю идентификатор радиокнопки, имя которой совпадает с именем моей переменной ruby. Я пытаюсь следующее:

      <script>

        $( ".radio_money_value" ).click(function() {

         var newDiv = $("<button name='button' type='submit' class='payment-action btn-plan button full-width margin-top-20' data-plan='<%=@"'"+this.id+"'".id%>'>Contribute $250 a month</button>");

         $('.btns-stripe').append(newDiv);
        });
      </script>

Есть ли способ напечатать значение переменной javascript внутри ruby?

1 Ответ

0 голосов
/ 18 апреля 2020

Ruby работает на вашем сервере, JavaScript запускается в браузере, в другом месте, в другое время; ты не можешь путешествовать во времени

Но зачем тебе это вообще нужно? Вы можете получить доступ к переменной JavaScript в ... ну ... JavaScript.

var newDiv = $("<button blah-blah-blah-blah data-plan='" + this.id + "'>blah-blah</button>")

Или немного лучше (используя обратные символы `` для построения строки шаблона):

var newDiv = $(`<button blah-blah-blah-blah data-plan="${this.id}">blah-blah</button>`)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...