Рельсы 3 разных типа встраивания под один контроллер - PullRequest
1 голос
/ 03 февраля 2012

У меня есть приложение rails, которое я изучаю для реализации видео. Я знаю, как встраивать видео и т. Д., Но я не совсем понимаю, как сделать что-то подобное.

Я бы хотел, чтобы у пользователя были видео. Когда пользователи идут, чтобы добавить видео, я хочу дать им возможность встроить видео на YouTube или видео Vimeo (Должен ли я написать заявление if?), Не имея 2 совершенно разных URL.

Например Если бы пользователь вставил URL-адрес видео на YouTube, он бы выглядел следующим образом

mysite.com/videos/1/youtube/1

Если бы пользователь добавил видео, оно бы выглядело так

mysite.com/videos/1/youtube/new

То, что я хотел бы реализовать, - это чтобы пользователь переходил к видео, а затем выбирал vimeo или youtube. После того, как пользователь ввел URL видео и нажмите кнопку «Создать», я хотел бы, чтобы URL выглядел (будь то YouTube, Vimeo или загруженный из процессора)

mysite.com/videos/1
mysite.com/videos/new

Как лучше всего подойти к этому? Будут ли это вложенные ресурсы, а затем переписать пути URL?

Ответы [ 3 ]

0 голосов
/ 04 февраля 2012

Существует много способов решения этой проблемы, и в итоге я использовал gem с именем oembed для обработки встроенных файлов из youtube, vimeo и т. Д.

0 голосов
/ 10 марта 2012

понял это забыл обновить вопрос.Проверьте решение здесь Поле Vaildate 1 с множеством опций

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

С точки зрения RESTful запрашиваемым ресурсом является видео. Механизм запрашивания этого видео (будь то Vimeo или Youtube) не имеет значения с точки зрения идентификации ресурса. Формат запрашиваемого видео является просто параметром запроса. В вашем контроллере вы можете решить, как отображать видео, основываясь на параметрах (или, возможно, других аспектах заголовка запроса). Ваше видео должно явно существовать как ресурс как

mysite.com/videos/1

Пусть параметры или HTTP-запрос определяют, как это будет отображаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...