我有一个运行三元操作的辅助方法。结果操作数都是image_tag方法。当我从视图中调用此帮助程序时,“:size”选项不会在html中转换为高度和宽度标记。当我将image_tag方法直接复制并粘贴到我的视图文件中时,一切正常。
def display_portrait(candidate)
if candidate.portrait_url
image_tag(candidate.portrait_url.to_s, :size => "10x10")
else
image_tag("missing_portrait.png", :size => "10x10")
end
end
<%= display_portrait candidate %> DOES NOT GENERATE HEIGHT AND WITH ATTR'S
<%= image_tag("missing_portrait.png", :size => "10x10") %> DOES GENERATE ATTR'S
助手仍然会生成具有正确来源的锚点;它只缺少高度和宽度属性。
感谢您花一点时间提供帮助,
迈克尔
答案 0 :(得分:0)
如果条件然后检查什么是
,首先通过显示纵向方法中的write puts语句进行检查进入这种方法的参数。
您也可以在视图中执行此操作
<%= image_tag(@image.portrait.url(:thumb):alt => "Description") %>
希望它会帮助你......
答案 1 :(得分:0)
<强> application_helper.rb 强>
def display_portrait(candidate)
if candidate == 1
image_tag(candidate, :size => "10x10")
else
image_tag("missing_portrait.png", :size => "10x10")
end
end
<强> new.html.erb 强>
在此视图中,
<%= display_portrait 1 %>
生成,
<img alt="1" height="10" src="/assets/1" width="10" />
和
<%= display_portrait 0 %>
生成,
<img alt="Missing_portrait" height="10" src="/assets/missing_portrait.png" width="10" />
你的If条件肯定有问题。
答案 2 :(得分:0)
除非你不关心IE&lt; 9,否则我不会在任何情况下使用'size'。我宁愿使用样式属性。
PS:特别是对于这个问题,我会尝试使用width:和height:来查看是否有任何改变。我知道Rails中的一些帮助程序具有不同的行为,具体取决于它们的调用位置。