javascript - 从sqlite db获取图像并使用JavaScript显示在页面上

标签 javascript ruby-on-rails sqlite

我正在尝试查询我的 sqlite 表以获取图像并将其显示在页面上。这是我正在使用的代码。奇怪的是 [0] 到 [4] 没有显示任何内容,而 [5] 和更高的返回未定义。我的表中只有 5 个项目,因此看起来查询正在运行,但它仍然没有将这些项目加载到页面上。

<script type="text/javascript">

    $(document).ready(function() {

        var image = <%= Picturebook.where(:book => 'vacation').pluck(:img)[0] %>;
        $('#display_images').append("<img src='" + image + "' >");

    });

</script>

最佳答案

你的行为违反了 MVC。您应该在 Controller 中抓取图像:

@image = Picturebook.where(:book => 'vacation').pluck(:img)[0]

然后在你看来:

$('#display_images').append("<img src='" + <%= @image %> + "' >");

直接从 View 查询被认为是不好的形式,因此如果您必须动态获取图像,您应该考虑使用 AJAX 调用来获取 src 属性,并结合使用 respond_to block 和 Javascript 文件来附加返回图像到您的 View 。

如果您只需要显示图像,您可以执行以下操作: Controller :

@images = Picturebook.where(:book => 'vacation')

查看:

<% @images.each do |img| %>
  <%= image_tag(img.src) %>
<% end %>

关于javascript - 从sqlite db获取图像并使用JavaScript显示在页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32212761/

相关文章:

javascript - 为什么在 'getElementById' 中使用驼峰大小写而不在 'onclick' 中使用?

javascript - 将逗号分隔的字符串分隔为新字符串

javascript - 如何排除 jQuery 复选框结果

javascript - Rails - 从 JavaScript 调用 CoffeeScript

ruby-on-rails - 插件关系设计

Android Realm 找到前 N 个元素

java - 为什么我的第二个 sqlite 表抛出异常?

javascript - TS2322 和 TS2495 - 具有 ES6 和 ES5 目标的迭代器

security - 用于存储 secret 的可移植数据库

ruby-on-rails - 运行时出错 `rake assets:precompile`