首页 > 解决方案 > 助手不显示图像标签

问题描述

我有一个像这样的帮手:

def services_display(service)
  if @sleep.services.present?
    image_tag(service.icon, :class=>"icon")
    service.name
  else
    image_tag(service.icon, :class=>"icon-2")
    service.name
  end
end

service.name 已显示,但没有 image_tag。我的代码有什么问题?

我该如何解决?

标签: ruby-on-rails

解决方案


辅助方法返回您执行的最后一行返回的值,它不会将代码输出到视图。

你必须返回任何你不想出现在视图中的东西。

def services_display(service)
  if @sleep.services.present?
    image_tag(service.icon, :class=>"icon") + service.name
  else
    image_tag(service.icon, :class=>"icon-2") + service.name
  end
end

您的原始方法仅返回帮助程序service.name生成的字符串的值,而不是返回的字符串image_tag


推荐阅读