我正在尝试检查用户的链接是否为img。如果是的话,我想将其放在一个img标签中。这是我第一次使用Ruby on Rails,或者一般来说是Ruby。
<% if link.url.include? ".jpg" %>
<div class="img_wrapper"><img src="<%= link.url %>"></img></div>
<% elsif link.url.include? ".png" %>
<div class="img_wrapper"><img src="<%= link.url %>"></img></div>
<% elsif link.url.include? ".gif" %>
<div class="img_wrapper"><img src="<%= link.url %>"></img></div>
<% else %>
<div class="img_wrapper"><img src="../assets/no_image.png"></img></div>
<% end %>
我认为这样的逻辑属于模型,因为这样可以更轻松地测试和重用:
# in app/models/link.rb
def image?
%w( .gif .jpg .png ).include?(File.extname(url))
end
# in the view
<% if link.image? %>
<div class="img_wrapper"><img src="<%= link.url %>"></img></div>
<% else %>
<div class="img_wrapper"><img src="../assets/no_image.png"></img></div>
<% end %>
甚至更短的(你可能要花费文件扩展名(EQ列表bmp
,jpeg
或tiff
)):
# in app/models/link.rb
def image_url
%w( .gif .jpg .png ).include?(File.extname(url)) ? url : 'no_image.png'
end
# in the view
<div class="img_wrapper"><%= image_tag(link.image_url) %></div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句