Здравствуйте, у меня есть следующие примеры, я не могу понять, как заставить его работать в html.haml.
Пример 1 (рабочий):
# In html.erb file
<% @my_array = ['1, '2'] %>
<script>
window.running_cycler = new MyAwesomeClass({
custom_data: <%= raw @my_array %>
});
</script>
Пример 2 (не работает)
# In html.haml file
- @my_array = ['1', '2']
:javascript
window.running_cycler = new MyAwesomeClass({
custom_data: "#{raw @my_array}"
# or
# custom_data: "#{@my_array}"
})
Это ошибка браузера, которую он выбрасывает. Как я могу заставить его работать в html.haml файле? Кажется, что raw не работает вообще. Если я не использую 'raw', тогда формат, который он преобразует, является:
"["1", "8"]"
Пожалуйста помоги. Спасибо!
Вы можете использовать одинарные кавычки и raw
:
- @my_array = ['1', '2']
:javascript
window.running_cycler = { 'custom_data': '#{raw @my_array}' }
console.log(JSON.parse(window.running_cycler.custom_data).length)
// 2
window.running_cycler = { custom_data: #{raw @my_array} }
работает.