Передача значения URL-адреса несущей волны в javascript? - PullRequest
0 голосов
/ 27 сентября 2019

Мне нужно иметь возможность использовать *_url для получения URL-адреса для изображения несущей в коде JavaScript.

Следующие работы:

...
<select id="tshirt-design">
   <option value="">Select one of your designs ...</option>
   <option value="https://example.s3.amazonaws.com/uploads/example"</option>
</select>
...
<script>
document.getElementById("tshirt-design").addEventListener("change", function(){
    updateTshirtImage(this.value);
}, false);
</script>

Что мне нужно для работы, так это:

...
<%= ff.select :image_file_id, options_for_select(@image_files.map { |image| [image.id, ...]}, ff.object.image_file_id) %>
...
<script>
document.getElementById("tshirt-design").addEventListener("change", function(){
    updateTshirtImage(this.value);
}, false);
</script>

Из предыдущего выпуска я получил синтаксис ruby, мне ответили следующим образом:

Это чтобы получить Color.attribute:

...
<%= f.grouped_collection_select :color_id, @items.order(:title), :colors, :title, :id, :title %>
...
<script>
var colors = <%= Color.pluck(:id, :hex).to_h.to_json.html_safe %>;                                   document.getElementById("shop_product_color_id").addEventListener("change", function(){
   document.getElementById("tshirt-div").style.backgroundColor = colors[this.value];
}, false);
</script>

Это позволяет мне использовать color_id и затем использовать Color.hex (который содержит шестнадцатеричное значение цвета) дляиспользуйте в качестве цвета фона.

Я пробовал тот же метод с ImageFile, но ImageFile.image_file_url не является атрибутом, поэтому я не могу его получить.Мне нужно, чтобы кто-нибудь смог получить схему *_url

ImageFile:

...
t.string "image_file"
...

image_file содержит имя файла, но мне нужно использовать* _url для того, чтобы фактически получить URL.Как я могу эффективно использовать это в javascript?

Каким-либо образом я могу получить полный URL в области кода javascript?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...