ruby-on-rails - 如果图像不存在则显示默认用户图像(ruby on rails)

标签 ruby-on-rails

我想用 ruby​​ 编写一个条件,如果没有用户图像,则显示默认图像,如果存在,则显示当前图像。

这是我的 index.html.slim 页面:

@product.reviews.each do |r|
  a href="#"
  = image_tag r.user.image_url :thumbnail`

最佳答案

我建议您在帮助器或模型中添加相关代码,以保持代码整洁。

辅助方法:

def user_avatar user
  if user.image.present?
    image_tag user.image_url :thumbnail
  else
    # Assuming you have a default.jpg in your assets folder
    image_tag 'default.jpg'
  end
end

查看页面:

@product.reviews.each do |r|
  a href="#"
    = user_avatar r.user

此外,从代码中我感觉您正在使用类似 paperclip 或 carrierwave 的库。

如果在回形针中是这样,您可以通过将此代码放入模型中来设置默认图像。

:default_url => "/assets/:style/missing_avatar.jpg"

如果您使用的是 carrierwave,请将此方法放在您的上传文件中。

def default_url
  "/images/fallback/default.png"
end

关于ruby-on-rails - 如果图像不存在则显示默认用户图像(ruby on rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32002736/

相关文章:

javascript - 如何在 htm.erb 文件的内联 Ruby 代码中使用 javascript 变量

ruby-on-rails - 使用 View 在模型之间传输变量

ruby-on-rails - Ember-rails 项目作为可安装的引擎?

ruby-on-rails - 工头无法连接到 postgresql 服务器 (Rails)

ruby-on-rails - 仅获取首字母的正则表达式

ruby-on-rails - 同一模型的 has_many 和 belongs_to

ruby-on-rails - Rails 应用程序无法使用 Paperclip 和 Mongoid 将图像上传保存到 Amazon S3

ruby-on-rails - hash.delete_if { |键,值| true } 不删除...为什么?

ruby-on-rails - 如何让专家政策更干?

ruby-on-rails - rake db :create 问题