私は単純なフォームを持っています:
<%= form_for [current_user, @bookcase], :id => "shelf_update_form", :remote => true, :html => { :multipart => true} do |f| %>
<input id="bookcase_image" class="file" type="file" name="bookcase[image]" size="13">
<% end %>
ファイルが選択されると、自動的にアップロードされます。
$("#shelf_update_form").change(function() {
$("#shelf_update_form").submit();
});
update アクションで js ビューをレンダリングしたいのですが、デフォルトでは代わりに html をレンダリングします。次のようにjsをレンダリングするように強制しようとします:
respond_to do |format|
format.js
end
しかし、その後、次のエラーが発生します。
NetworkError: 406 Not Acceptable
それでも、私のログは次のように報告します。
Processing by BookcasesController#update as HTML
代わりにJSとして処理するにはどうすればよいですか?
アップデート:
景色:
triggerAjaxHistory("<%= @href %>", false);
より一般的なビューでも同じ結果が得られます。
alert("I work now!")