7

Kann keinen Ajax form_for bekommen, um das format.js zu respektieren respond_to antwortet nur mit format.html. Jede Hilfe wird sehr geschätzt.form_for [@nested, @resource], remote => true antwortet mit format.html rails 3.2.6

Ansicht

Diese Ansicht in teilweise durch AJAX genannt wird, und dann gibt der Nutzer das Formular aus. Könnte der anfängliche Ajax-Aufruf das "Fern: Wahr" dieser Form verwechseln?

<%= form_for([@nested, @nested.resources.new], remote: true) do |i|%> 
    <%= i.hidden_field :inviter_id, value: current_user.id %> 
    <%= i.hidden_field :fb_pic_url, value: f['pic_square'] %> 
    <%= i.hidden_field :name, value: f['name'] %> 
    <%= i.hidden_field :uid, value: f['uid'] %> 
    <%= i.submit "Invite", class:"btn btn-success invite_button" %> 
<% end %> 

routes.rb

resources :nested do 
    resources :resources 
end 

Controller

def create 
    code code code 

    respond_to do |format| 
    format.html { redirect_to @nested, notice: "Successfully Posted Nested" } 
    format.json { render json: @nested, status: :created, location: @nested } 
    format.js { render :nothing => true } 
    end 
end 

create.js.erb vorhanden, aber leer

application.html

<%= javascript_include_tag "application" %> 
<%= csrf_meta_tags %> 

application.js

//= require jquery 
//= require jquery_ujs 
+0

Was akzeptieren Header werden in der Anfrage gesendet? – joshuacronemeyer

+0

"HTTP_ACCEPT" => "text/html, applikation/xhtml + xml, application/xml; q = 0.9, */*; q = 0.8" – ajbraus

+0

Ich verstehe das Problem nicht. Sie sagen, dass Sie nach dem Senden von form_for HTML-Antwort bekommen? – jizak

Antwort

2

Achten Sie darauf, die Schienen eingebauten in nicht-intrusive jquery Plugin enthalten, da ihr verantwortlich für die Herstellung der remote: true Code Arbeit.

auch, wenn Sie die Vorlage machen möchten create.js.erb Sie die Zeile format.js ohne Block verlassen müssen:

respond_to do |format| 
    ... 
    format.js 
end 

Abgesehen davon, verwenden Sie die anderen Antwortformate? json und html? Wenn nicht, versuche sie zu vermeiden.

+0

Ich habe das gleiche genaue Problem wie diese Person (genau so!), Und ich habe alle Ihre Vorschläge in Ihrer Antwort erfüllt und bekomme immer noch das Problem. Könnten Sie sich bitte die Frage anschauen, die ich hier schon geschrieben habe: [meine Frage] (http://stackoverflow.com/questions/22545354/remote-true-option-for-form-for-working-for-new -action-but-not-create-action/22673922 # 22673922)? –