如果rails app中嵌入的视频网址为空白,如何隐藏<iframe>?</iframe>

时间:2012-06-28 16:10:06

标签: ruby-on-rails iframe youtube show-hide

这一定非常简单。但我似乎无法找到合适的解决方案。

我有一个嵌入了视频属性的模型。

我这样做了:

 On my show page
 <iframe width="560" height="315" src="<%= @trip.youtube %>" frameborder="0" allowfullscreen></iframe>

一切正常,但问题是如果youtube网址为空白,我不想显示此部分。否则我会留下一个巨大的空白区域,这是我不需要的。

我尝试过使用除非如果条件

 <% if @trip.youtube.blank? %>
  <iframe width="0" height="0" src="<%= @trip.youtube %>" frameborder="0" class="hidden" allowfullscreen></iframe>
 <% else %>
   <iframe width="560" height="315" src="<%= @trip.youtube %>" frameborder="0" allowfullscreen></iframe>
 <% end %>

但我做错了什么。  有什么更好的方法吗? 感谢。

2 个答案:

答案 0 :(得分:0)

为什么不使用:

<% if @trip.youtube.present? %>
    <iframe width="560" height="315" src="<%= @trip.youtube %>" frameborder="0" allowfullscreen></iframe>
<% end %>

留下它?

答案 1 :(得分:0)

aaa ......这样一个愚蠢的错误。

在我的_form中我有:

 <div class="field">
    <%= f.label :youtube %><br />
    <%= f.text_field :youtube,:value => 'http://' %><br />
 </div>

由于该字段已经 - http:// ,无论哪种方式,有或没有youtube网址,rails都没有将其标识为空白:))

需要简单:

  <div class="field">
    <%= f.label :youtube %><br />
    <%= f.text_field :youtube %><br/>
  </div>     

 <% if @trip.youtube.present? %>
   <iframe width="560" height="315" src="<%= @trip.youtube %>" frameborder="0" allowfullscreen></iframe>
 <% end %>

像魅力一样工作。谢谢:)