Sto usando simple_form gemma e generando la forma che sto specificando il telecomando: vera opzione in questo modo:controllore non può rilevare ajax richiede
<%= simple_form_for @webinar, validate: true, remote:true do |f| %>
Quindi, il codice html di uscita per il modulo è il seguente frammento:
<form accept-charset="UTF-8" action="/webinars" class="simple_form new_webinar" data-remote="true" data-validate="true" enctype="multipart/form-data" id="new_webinar" method="post" novalidate="novalidate"> ... </form>
Come ho controllato, utilizzando lo standard form_for aiutante è l'aggiunta del dati remota = 'true' alla forma quando remoto: viene utilizzato veri opzioni. E come puoi vedere dall'html generato, quando sto usando la gemma simple_form c'è anche questo attributo.
Quindi, a mio regolatore ho:
def create
@webinar = Webinar.new(params[:webinar])
respond_to do |format|
if @webinar.save
format.html { redirect_to @webinar, notice: 'Webinar was successfully created.' }
format.js
format.json { render json: @webinar, status: :created, location: @webinar }
else
format.html { render action: "new" }
format.json { render json: @webinar.errors, status: :unprocessable_entity }
end
end
end
Ma, sempre il format.html viene utilizzato. Cosa sto facendo di sbagliato?
EDIT:
ho usato logger.debug request.format per verificare qual è il formato effettivo chiedere e nel file di registro è stato:
text/html
Quindi, il problema deve essere nella forma generata da simple_form - cosa può esserci di sbagliato quando abbiamo "data-remote = true"?
Possiedi '// = richiede jquery' e '// = require jquery_ujs' nel tuo' a pplication.js'? Hai un file 'create.js.erb' sotto'/app/assets/view/webinar '? – mccannf
Sì, ho tutto questo a posto. Ho effettuato con successo una richiesta jax a partial per tutte le azioni senza creare e aggiornare. Ho anche <% = csrf_meta_tags%> nel mio file application.html.erb. In realtà, il problema è che il controller si comporta come il formato è html non js. – gotqn
Si potrebbe provare ad aggiungere ': html => {: data => {: type =>: json}}' come opzione a simple_form_for ... – mccannf