【问题标题】:How to set image as a background from database in rails如何在rails中将图像设置为数据库中的背景
【发布时间】:2016-03-12 13:38:37
【问题描述】:

我是 ruby​​ on rails 的初学者。到目前为止,我只能“使用载波创建、显示、删除、更新数据和文件上传”,当我想将图像设置为数据库的背景时遇到问题。

我使用carrierwave进行图片上传,图片保存在public/uploads/user/picture/和show.html.erb

的这一部分
<p>
  <strong>Image:</strong><br>
  <%= image_tag @user.picture.thumb.url %>
</p>

然后我有 home.html.erb

<div class="img-fill" style="background-image: url('..');"></div>
  1. 如何在我选择的图片home.html.erb页面上将图片作为背景?
  2. 我应该在 show.html.erb 上添加什么代码来指示在 home.html.erb 中用作背景的图像? 谢谢

【问题讨论】:

  • 在访问主页/显示页面之前是否包含任何登录过程?
  • 没有登录过程,我只是像生成脚手架一样制作标准 CRUD,我只添加carrierwave+mini_magick 然后我在views/users/中添加一个名为home.html.erb的新页面
  • 只需添加控制器 (users#home) 操作 @user = User.first 例如或您要显示哪个用户的背景
  • 哇,它可以工作了:D,但是当我上传新图片并在 show.html.erb 中时,我点击“主页”,背景不会改变。在我的表格上,我有名字和照片。当我只想拍照时,如何为控制器上的动作编写?我尝试@user = User.find(:avatar) 但不起作用
  • 您希望从哪个用户显示背景图像?

标签: html css ruby-on-rails ruby carrierwave


【解决方案1】:

当您执行&lt;%= @user.picture.url %&gt; 时,它将输出图像的网址。所以现在你可以像这样把它放到style 属性中:

<div class="img-fill" style="background-image: url('<%= @user.picture.url %>');"></div>

【讨论】:

  • 它不起作用,我在 show.html.erb 上添加 ,然后在 background-image 中添加 url 然后当我显示图像然后单击主页时,我收到错误“nil:NilClass 的未定义方法‘图片’”我错过了什么吗?
  • 您必须在控制器#home 操作中声明@user。
猜你喜欢
  • 2015-10-21
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
  • 2016-10-03
  • 2014-06-23
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多