【问题标题】:How to hide <iframe> if the embedded video url is blank in rails app ?如果嵌入的视频网址在 Rails 应用程序中为空白,如何隐藏 <iframe>?
【发布时间】:2012-06-28 16:10:06
【问题描述】:

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

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

我是这样实现的:

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

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

我尝试过使用 unless 或 if 条件

 <% 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 %>

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

【问题讨论】:

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


    【解决方案1】:

    为什么不直接使用:

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

    就这样吧?

    【讨论】:

      【解决方案2】:

      aaa...真是个愚蠢的错误。

      在我的_form中我有:

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

      由于该字段已经 - http://,无论有无 youtube url,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 %>
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-23
        • 2013-04-27
        • 2014-02-27
        • 2015-03-16
        • 2016-12-06
        • 2013-03-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多