Ошибка 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
Другие вопросы по тегам