Ошибка JavaScript при успешном удаленном обновлении
Привет, у меня есть следующая форма:
<%= form_for featured_content, :remote => true do |f| %>
<%= f.text_field :url, :value => featured_content.url, :class => "form_text_field ajaxSingle" %>
<%= button_tag "Update", :class=>'greystyle', :type=>"submit" %>
<% end %>
Со следующим JS:
$('.ajaxSingle').live('keyup', function() {
$(this).parents('form:first').submit();
});
Это относится к следующему действию контроллера:
def update
@fc = FeaturedContent.find(params[:id])
@fc.update_attributes(params[:featured_content])
end
Это все работает отлично. Тем не менее, я получаю следующую ошибку в консоли javascript при каждом обновлении поля:
ActionView::MissingTemplate (Missing template featured_contents/update, application/update with {:locale=>[:en], :formats=>[:js, "application/ecmascript", "application/x-ecmascript", :html, :text, :js, :css, :ics, :csv, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip], :handlers=>[:builder, :erb, :coffee]}. Searched in:
* "/Users/rordev/Code/RubyOnRails/Projects/EverythingEver/Dev/everythingever/app/views"
У меня есть только создавать, уничтожать, обновлять и индексировать. Как мне избавиться от этой ошибки?
1 ответ
Решение
Вы должны сообщить Rails, чтобы он выдал специальный ответ на ваш вызов ajax:
def update
@fc = FeaturedContent.find(params[:id])
@fc.update_attributes(params[:featured_content])
respond_to do |format|
format.html
format.js { render :json => {:status => 'ok' } } #or any response you might find usefull
end
end