Я использую плагин автозаполнения jQuery и хочу настроить это событие:
select: function(event, ui) {
$('.topic_field').val(ui.item.topic.name);
return false;
По сути, оно вызывает обратные вызовы, когда выбран элемент из выпадающего списка.На данный момент он только добавляет выбранный элемент в текстовое поле.Я хочу, чтобы и поле было заполнено, и чтобы мое приложение отправляло запрос POST к действию контроллера обновления видео, чтобы пользователю не нужно было явно нажимать кнопку.Как я могу это сделать?
ОБНОВЛЕНИЕ:
Вот форма в виде показа видеоконтроллера:
<%= form_for @video, :url => {:action => "update"}, :remote => true do |f| %>
<div class="field">
<%= f.text_field :topic_names, :class => "topic_field" %>
</div>
<%= f.submit "Add Topic" %>
<% end %>
Вот мой код jQuery:
var url = $('.edit_video').attr('action');
var val = ui.item.topic.name;
$.post(url, {data:val});
Это в моем маршруте.rb:
resources :videos
resources :video_votes
resources :users
resources :profiles
resources :genres
resources :topics
resources :topicables
resource :session
Вот мое действие по обновлению:
def update
@video = current_user.videos.find(params[:id])
respond_to do |format|
if @video.update_attributes(params[:video])
format.html { redirect_to(@video) }
format.js
else
format.html { render :action => "edit" }
end
end
end