Я пытаюсь создать приложение для вопросов и ответов с Ajax на Index.html.erb. Мне удается получить форму для удаленной загрузки, но при сохранении записей AJAX не работает и пользователь попадает в обычный show.html.erb. Кроме того, что Ajax не запускается, все работает хорошо.
Мой код, как показано ниже:
index.html.erb (содержит частичное для ввода и частичное для результатов)
<div>
<h3 class="section_title"> Q&A </h3>
<hr>
<div id="qanda-form" style="display:none;"> </div>
</div>
<div id="qandas">
<%= render 'qandas/qanda' %>
</div>
_qanda.html.erb (является частичным для результатов)
<% @qandas.each do |my_qanda| %>
<div class="col-md-9">
<div>
Created <%= local_time(my_qanda.created_at) %>, by <%= User.find_by(id: my_qanda.user_id).full_name %>
</div>
</div>
<% end %>
_form.html.erb (является формой ввода - имеет вложенную форму через Cocoon)
<%= simple_form_for @qanda, remote: true do |f| %>
<%= f.error_notification %>
<%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>
<div class="col-md-12 form-inputs">
<div class="col-md-8">
<%= f.input :title, label: 'Q&A Title:' %>
</div>
</div>
<div class="qandasquestions">
<%= f.simple_fields_for :qandasquestions do |builder| %>
<% render 'qandas/qandasquestion_fields', f: builder %>
<% end %>
<div class="links btn-group" style="min-height: 34px !important">
<%= f.button :submit, "Publish Q&A", class: "btn btn-default" %>
<%= link_to_add_association 'Add Question', f, :qandasquestions, class: 'btn btn-default', data: {association_insertion_node: '.qandasquestions', association_insertion_method: :append} %>
<%= link_to 'Back', qandas_path, class: "btn btn-default" %>
<%= f.input :company, :as => :hidden, :input_html => {:value => current_user.company} %>
</div>
</div>
<% end %>
Контроллер
def index
@qandas = Qanda.all
respond_to do |format|
@qandas = Qanda.all
format.html
format.json
end
end
def create
@qanda = current_user.qandas.build(qanda_params)
respond_to do |format|
if @qanda.save!
@qandas = Qanda.all
format.html { redirect_to @qanda, notice: 'Qanda was successfully created.' }
format.json {render :layout => false}
else
format.html { render :new }
format.json { render json: @qanda.errors, status: :unprocessable_entity }
end
end
end
create.js.erb
$('#qandas').html("<%= j render partial: 'qandas/qanda' %>");
$('#qanda-form').slideUp(350);
new.js.erb
$('#qanda-form').html("<%= j render 'qandas/form' %>");
$('#qanda-form').slideDown(350);
Кто-нибудь может понять, почему Ajax не запускается, пожалуйста? почему меня перенаправляют на страницу традиционного ШОУ, пожалуйста?