【问题标题】:Rails 4 image url not workingRails 4图像网址不起作用
【发布时间】:2016-04-27 08:30:45
【问题描述】:

我正在做一个 Rails 项目,我需要在 div 上使用图像作为背景,但我似乎无法弄清楚为什么没有生成完整的 url。它只生成路径 /blog/imageurl.png。这个项目使用了 slim,这不是我刚接触的东西。

我的代码

.blog-post style="background-image: url (#{post.image})"

在同一页面上生成图像的代码

= image_tag "#{post.image}"

我错过了什么才能让它作为背景图像工作?

【问题讨论】:

  • post.image 字段、字符串或其他什么是什么?
  • 我相信它是一个字符串
  • 只是字符串或像carrierwave或回形针这样的特殊处理?
  • 似乎只需要将asset_path添加到image....的值前面。您将imageurl.png放在源代码的什么位置?
  • 还将; 放在末尾 pf `.blog-post style="background-image: url (#{post.image})"....

标签: ruby-on-rails ruby-on-rails-4 slim-lang


【解决方案1】:

试试这个:

.blog-post{style: "background-image: url(#{image_path post.image})"}

【讨论】:

  • 我收到一个错误,在包含该代码的行上显示“预期属性”。
  • @JamesPardigan 我已经编辑了答案。你能再试一次吗?
  • @JamesPardigan post.image 返回什么?您可能需要将结果传递给asset_path
  • post.image 返回 'blog/image-url.png'。我将如何将asset_path添加到这个?
  • 遗憾的是,我仍然遇到同样的错误。非常感谢您对此提供的帮助。
【解决方案2】:

试试这个

.blog-post style="background-image: url(#{image_url(post.image)})";

【讨论】:

  • 谢谢。在玩了一圈之后,这似乎让我快到了。最终代码为:.blog-post {style="background-image: url(#{image_url(post.image)})";}
  • 哦,很抱歉忘记缺少 css 的“url”。我已经更新了帖子。
【解决方案3】:

由于首先是字符串,请确保服务器提供图像的路径,因此输入到broser路径,如:

http://yoursite/images/blog/imageurl.png

并确保显示图像。接下来将缺少的部分路径添加到字符串中,并在 at 行添加缺少的 ; char:

.blog-post style="background-image: url (#{ActionController::Base.helpers.asset_path("images/" + post.image)});"

【讨论】:

  • 这并没有显示图像,似乎资产管道更改了 url,所以我需要挂钩。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-17
  • 2013-04-06
  • 2016-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多