Как я могу условно включить некоторый Javascript в файл html.slim, как часть более крупного проекта Ruby on Rails? - PullRequest
1 голос
/ 04 октября 2019

Я хочу, чтобы моя страница отображала некоторый Javascript, условный для переменной из среды Rails. У меня должно быть все в этом одном файле из-за других ограничений инструмента сборки.

По существу я пытаюсь заставить это работать:

= javascript:
     console.log('My javascript goes in this area....');
     <% if myCondition %>
          console.log('Render the JS in here is myCondition is true')
     <%end>

Однако, когда я пытаюсь это сделать, я получаю ошибкичто < не является допустимым символом.

Ответы [ 2 ]

1 голос
/ 05 октября 2019
 javascript:
   console.log('My javascript goes in this area....');

 - if myCondition
   javascript:
      console.log('Render the JS in here is myCondition is true')

Также этот вопрос может быть полезен: ruby ​​внутри блока javascript [тонкий шаблон]

0 голосов
/ 04 октября 2019

вы не можете использовать <% ... %> в своем javascript

Если вы хотите использовать данные рельсов, попробуйте ei

var form_id = "form"+ #{{@product.id.to_json}};

Другой способ, вы должны использоватьajax (имелось в виду your_action.js.slim), см. ниже:

create.js.slim

- if @product.errors.present?
  | toastr["error"]("#{@product.errors.full_messages[0]}");
- else
  | toastr["success"]("Created successfully!");
...