2016-12-28 4 views
0

ich einfach bin mit -Action :: UnknownFormat Fehler nur format.js

respond_to do |format| 
    format.js 
end 

in meiner Aktion erstellen. Ich weiß nicht warum, aber ich bekomme einen UnknownFormat Fehler. Der Fehler ist verschwunden, wenn ich sowohl "format.html" als auch "format.js" eingegeben habe. Aber ich möchte auf der gleichen Seite bleiben und einen Ajax-Anruf tätigen. Ich habe wie 5 Seiten von Google-Suchergebnissen für jede mögliche Suche durchlaufen und noch nichts funktioniert für mich. Kann mir hier jemand helfen?

Meine Form ist so -

<%= form_for [:home, Photo.new], remote: true, :html => {:id => "new-photo-form"} do |f| %> 

    <div id="upload-field"> 
     <%= f.file_field :image %> 
    </div> 

    <%= f.hidden_field :album_id, :value => album.id %> 

    <div id="photo-add-link"> 
     <%= link_to 'Add Selected Images', '#', remote: true, :onclick => "$('#new-photo-form').submit()" %> 
    </div> 

<% end %> 

Server-Logs -

Started POST "/home/photos" for 127.0.0.1 at 2016-12-28 08:23:38 +0530 
Processing by Home::PhotosController#create as HTML 
Parameters: {"utf8"=>"✓", "photo"=>{"image"=># <ActionDispatch::Http::UploadedFile:0x007fd5541a0578 @tempfile=# <Tempfile:/tmp/RackMultipart20161228-6069-175ahz0.jpg>, @original_filename="emilia-clark.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"photo[image]\"; filename=\"emilia-clark.jpg\"\r\nContent-Type: image/jpeg\r\n">, "album_id"=>"68"}} 
User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 1]] 
Completed 406 Not Acceptable in 2ms (ActiveRecord: 0.1ms) 

ActionController::UnknownFormat (ActionController::UnknownFormat): 
app/controllers/home/photos_controller.rb:11:in `create' 


Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_source.erb (3.4ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.7ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.8ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/actionpack- 4.2.6/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb within rescues/layout (16.2ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/web-console-2.3.0/lib/web_console/templates/_markup.html.erb (0.3ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/web-console-2.3.0/lib/web_console/templates/_inner_console_markup.html.erb within layouts/inlined_string (0.2ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/web-console-2.3.0/lib/web_console/templates/_prompt_box_markup.html.erb within layouts/inlined_string (0.4ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/web-console-2.3.0/lib/web_console/templates/style.css.erb within layouts/inlined_string (1.2ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/web-console-2.3.0/lib/web_console/templates/console.js.erb within layouts/javascript (16.2ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/web-console-2.3.0/lib/web_console/templates/main.js.erb within layouts/javascript (0.2ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/web-console-2.3.0/lib/web_console/templates/error_page.js.erb within layouts/javascript (0.4ms) 
Rendered /home/santhosh/.rvm/gems/ruby-2.3.0/gems/web-console- 2.3.0/lib/web_console/templates/index.html.erb (29.5ms) 
+0

wo ist das Skript? – Milind

+0

Bitte senden Sie das entsprechende Skript/Code. – Ronald

+0

Das ist der ganze Code – beginner123456

Antwort

0

Ich habe bemerkt, dass Sie eine file_field in Ihrem Formular verwenden. JavaScript hat keinen Zugriff auf Ihr Dateisystem. Daher können Sie keine Ajax-Anfrage zum Hochladen von Dateien erstellen. Es gibt einige Edelsteine, um dies zu umgehen. überprüfen Sie this gem.

+0

Ja. Vielleicht ist das das Problem. Es gibt viele Edelsteine, die für den Upload von Ajax-Dateien verwendet werden. Vielen Dank. Ich werde es nachschlagen. – beginner123456

+0

Vielen Dank. Deine Vermutung ist richtig. Das Datei-Upload-Feld war der Grund, warum es mir diesen Fehler gab. Ich habe den Edelstein "remotipart" in meine Gemfile eingefügt und // = jquery.remotipart benötigt – beginner123456

Verwandte Themen