Итак, я делаю этот ajax-вызов:
$.ajax({
type: "POST",
url: "/videos",
data: { title: oembed.title }
});
внутри этого вызова функции для Embedly API:
$('a.oembed').embedly({maxWidth:300,'method':'replace'}).bind('embedly-oembed', function(e, oembed){
});
Теперь есть две вещи не так с тем, как этот $ .ajax () звонок работает.Во-первых, он вызывает каждый раз, когда я загружаю представление index
, что имеет смысл, потому что именно там я указываю URL.Тем не менее, я хочу, чтобы он вызывался только один раз при создании видео, и я не знаю, как указать его на метод create
.
Во-вторых, вызов ajax просто добавляет пустойстрока в базе данных и заголовок, который динамически генерируется API-интерфейсом embedly и сохраняется в хеше oembed
(селектор находит ссылку на видео в моем представлении и превращает ее во встроенное видео, а также сохраняет всеатрибуты видео в oembed
) не добавляются в мою базу данных.Я пытаюсь сохранить этот динамически сгенерированный заголовок в моей базе данных.
Как мне достичь обеих этих целей?
ОБНОВЛЕНИЕ: Если вам интересно, и вы хотите увидеть это в действии,форк код здесь: https://github.com/meltzerj/Dreamstill
ОБНОВЛЕНИЕ 2: Вот что говорит консоль.Обратите внимание, что один для create
, а другой для show
:
Запущен POST "/ videos" для 127.0.0.1 в среду 16 марта 03:03:12 -0700 2011 Обработка в VideosController # createв качестве параметров: {"title" => "Исключительно: Чарли Шин говорит, что он" не биполярный, а "двукратный" (02.28.11) "} AREL (0,4 мс) INSERT INTO" videos "(" description "," thumbnail_url ", "release", "video_url", "user_id", "title", "embed_code", "creation_at", "updated_at") ЗНАЧЕНИЯ (NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2011-03-16 10: 03: 12.277518 ',' 2011-03-16 10: 03: 12.277518 ') Перенаправлено на http://localhost:3000/videos/413 Завершено 302 Найдено за 17 мс
Запущено GET "/ videos / 396" для 127,0.0.1 в ср 16 марта 03:03:03 -0700 2011 Обработка с помощью VideosController # show as Parameters: {"id" => "396"} Загрузка видео (0,2 мс) ВЫБРАТЬ "videos". * ИЗ "videos" WHERE "videos "." id "= 396 LIMIT 1 Рендеринг видео / _show_video.html.erb (6,4 мс) Рендеринг видео / show.html.erb в макетах / приложении (9,8 мс) Выполнено 200 ОК за 33 мс (Просмотров: 24,5 мс | ActiveRecorд: 0,2 мс)