Ruby on Rails / HAML image_path 在 else 条件下不工作?
Ruby on Rails / HAML image_path not working in else condition?
我目前正在使用 haml 进行 RoR 项目,我遇到了一个以前从未遇到过的问题。
我有一个 "user profile" 和一个可选图像。如果图像存在,我想显示它,如果不存在,我显示一个占位符(存储在 assets => "admin/avatar.png" 中。所以,下面是我的示例代码:
-unless @user.image.nil?
=image_tag @user.image.url,class:"img-responsive img-circle",style:"width:150px;height:150px;margin:auto;"
-else
%img.img-responsive.img-circle{:src => image_path("admin/avatar.png"),style:"width:150px;height:150px;margin:auto;"}
%img.img-responsive.img-circle{:src => image_path("admin/avatar.png"),style:"width:150px;height:150px;margin:auto;"}
第一个
%img.img-responsive.img-circle{:src => image_path("admin/avatar.png"),style:"width:150px;height:150px;margin:auto;"}
不工作(并显示 "missing"),而 seconde 实际上在工作。我对此有点迷茫。
有人吗?
谢谢。
unless else
是一种代码味
我建议的解决方案:
- if @user.image.present?
= image_tag(@user.image.url, class:"img-responsive img-circle",style:"width:150px;height:150px;margin:auto;")
- else
= image_tag('admin/avatar', class:"img-responsive img-circle", style:"width:150px;height:150px;margin:auto;")
我目前正在使用 haml 进行 RoR 项目,我遇到了一个以前从未遇到过的问题。
我有一个 "user profile" 和一个可选图像。如果图像存在,我想显示它,如果不存在,我显示一个占位符(存储在 assets => "admin/avatar.png" 中。所以,下面是我的示例代码:
-unless @user.image.nil?
=image_tag @user.image.url,class:"img-responsive img-circle",style:"width:150px;height:150px;margin:auto;"
-else
%img.img-responsive.img-circle{:src => image_path("admin/avatar.png"),style:"width:150px;height:150px;margin:auto;"}
%img.img-responsive.img-circle{:src => image_path("admin/avatar.png"),style:"width:150px;height:150px;margin:auto;"}
第一个
%img.img-responsive.img-circle{:src => image_path("admin/avatar.png"),style:"width:150px;height:150px;margin:auto;"}
不工作(并显示 "missing"),而 seconde 实际上在工作。我对此有点迷茫。
有人吗?
谢谢。
unless else
是一种代码味
我建议的解决方案:
- if @user.image.present?
= image_tag(@user.image.url, class:"img-responsive img-circle",style:"width:150px;height:150px;margin:auto;")
- else
= image_tag('admin/avatar', class:"img-responsive img-circle", style:"width:150px;height:150px;margin:auto;")