7

だから、私はユーザーがYouTubeのリンクを送信し、親指の宝石を使って曲/リンクをランク付けできるレールアプリを持っています。

ただし、ユーザーが曲を聴くには、リンクを物理的にコピーしてブラウザーに貼り付ける必要があります。より良い UX のために、送信された YouTube リンクを動画としてアプリに埋め込んでもらいたいと思います。では、これを動的に行うにはどうすればよいでしょうか。

つまり、YouTube リンクを送信できます。たとえば、song_id(1) に保存されます。song_id(1) をクリックすると、リンクが表示されるだけでなく、埋め込まれた YouTube ビデオも表示されます。

show.html.erb を更新しました:

<%- model_class = Song -%>
<div class="page-header">
  <h1><%=t '.title', :default => model_class.model_name.human.titleize %></h1>
</div>

<dl class="dl-horizontal">
  <dt><strong><%= model_class.human_attribute_name(:title) %>:</strong></dt>
  <dd><%= @song.title %></dd>
  <dt><strong><%= model_class.human_attribute_name(:url) %>:</strong></dt>
  <dd><%= YouTubeAddy.extract_video_id(@song.url) %> </dd>


<iframe width="#{width}" height="#{height}" src="http://www.youtube.com/embed/#{youtube_id}" frameborder="0"></iframe>

songhelper.rb

module SongsHelper

  def youtube_id
    YouTubeAddy.extract_video_id(@song.url)
  end

end
4

3 に答える 3

4

あなたは出来る

  1. 送信されたリンクからYouTube ビデオの ID を抽出します。

    たとえば、誰かがこのリンクを送信し ます http://www.youtube.com/watch?v=XwmtNk_Yb2Q

    あなたが望むだろうXwmtNk_Yb2Q

  2. そのIDiframeを使用して、ビデオを埋め込む要素をレンダリングできます。

    <iframe width="#{width}" height="#{height}" src="http://www.youtube.com/embed/#{video_id}" frameborder="0"></iframe>

これは、@Elie Gnrd が推奨する gemで行われる方法です。

于 2013-08-02T07:33:50.343 に答える