Вставить Vimeo Player в Rails? - PullRequest
       20

Вставить Vimeo Player в Rails?

1 голос
/ 03 февраля 2010

Я хочу разрешить пользователям отправлять URL-адрес vimeo и вставлять его в плеер. Есть плагин или драгоценный камень, который делает это?

Спасибо

Ответы [ 2 ]

0 голосов
/ 06 июня 2017

Старый вопрос, но я оказался в такой же ситуации.

Если вы не хотите загружать Vimeo iframe для своего видео, вы можете использовать следующий код. Не нужно добавлять драгоценный камень.

Добавить помощника

Просто создайте файл app/helpers/videos_helper.rb и следующие строки.

module VideosHelper

  require 'net/http'

  VIMEO_REGEX = %r(^https?:\/\/(?:.*?)\.?(vimeo)\.com\/(\d+).*$)

  # Finds Vimeo's video ID from given URL or [nil] if URL is invalid
  def find_vimeo_id url
    url     = sanitize url
    matches = VIMEO_REGEX.match url.to_str
    matches[2] if matches
  end

  # Get Vimeo video iframe from given URL
  def get_vimeo_iframe url, width, height
    vimeo_id = find_vimeo_id url
    uri      = "https://vimeo.com/api/oembed.json?url=https%3A//vimeo.com/#{ vimeo_id }&width=#{ width }&height=#{ height }"
    response = Net::HTTP.get( URI.parse( uri ))
    json     = JSON.parse response
    json['html'].html_safe
  end

end

Получить iframe в поле зрения

По вашему мнению, просто наберите get_vimeo_iframe(), чтобы распечатать iframe.

<%= get_vimeo_iframe('http://your.vimeo.url') %>

Или, если хотите, можете добавить ширину и высоту

<%= get_vimeo_iframe('http://your.vimeo.url', '800px', '450px') %>

Если хотите, я создал этот гист , который позволяет вам также запросить YouTube iframe (не только Vimeo).

0 голосов
/ 03 февраля 2010

Vimeo имеет подробную информацию о том, как встраивать, используя их API: http://www.vimeo.com/api/docs/oembed

Под их страницей "неофициальных загрузок" есть этот драгоценный камень: http://github.com/matthooks/vimeo

...