Мне нужно иметь возможность использовать *_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?