0
나는 Ryan Bates' Railscast #136을 따르며 양식 제출 후 AJAX를 사용하여 div ('# inviteform1')를 부분 ('thankyou')로 대체하려고합니다. 어떤 이유로 폼이 제출 될 때 작동하지 않습니다. 대신 빈 화면이 나타나고 URL은 localhost : 3000/inviterequests로 리디렉션됩니다. 내가 뭘 놓치고 있니?Ajax를 사용하여 레일스에서 부분을 가진 div로 바꾸기
inviterequests_controller
def create
@inviterequest = Inviterequest.new(params[:inviterequest])
respond_to do |format|
format.js
end
end
inviterequests/create.js.erb
$("#inviteform1").hide().after('<%= j render("thankyou") %>')
inviterequests/_form.html.erb이 - 치환 될 DIV 포함
<%= simple_form_for(@inviterequest, html: { class: 'form-horizontal'}) do |f| %>
<% if @inviterequest.errors.any? %>
<div id="error_explanation">
<h3><%= pluralize(@inviterequest.errors.count, "error") %> prohibited this inviterequest from being saved:</h3>
<ul>
<% @inviterequest.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<!-- INVITE BOX CONTENT -->
<div class="invitebox">
<div class="invitebox-inner">
<div id="inviteform1">
<br> <br> <br>
<h5> INDIAN WEDDING <BR> PLANNING JUST GOT EASIER </h5>
<%= image_tag("smalldivider.png") %>
<h5> REQUEST AN INVITE </h5>
<div class="field">
<%= f.input :email, :placeholder => 'enter your email, please', label: false %>
</div>
<div class="actions">
<%= f.submit "SUBMIT", class: "btn btn-primary btn-special", remote: true %>
</div>
</div>
</div>
</div>
<% end %>
,210
inviterequests/_thankyou.html.erb - 사업부에게 당신이 simple_form_for
대신 f.submit
에 remote: true
을 사용해야한다는 것
<div id="thankyou">
<br> <br> <br>
<h3>THANK YOU </h3>
<h4> We are working hard to launch soon <br> and will be in touch. </h4>
<%= image_tag("smalldivider.png") %>
<p class="smallcaps"> <br> SHARE WITH FRIENDS IN THE MEANTIME </p>
<div class="socialbuttons">
<div class="twitter">
<%= link_to (image_tag("twitter2.png")), "https://twitter.com/intent/tweet?screen_name=namastewedding&text=is%20making%20Indian%20wedding%20planning%20easy.%20I%20just%20requested%20my%20invitation.%20%23indianwedding%20www.namastewedding.com", :target => '_blank' %>
</div>
<div class="facebook">
<%= link_to (image_tag("facebook2.png")), "https://www.facebook.com/pages/Namaste-Wedding/359192570873560" %>
</div>
</div>
</div>
LOGS
Started POST "/inviterequests" for 127.0.0.1 at 2013-08-29 22:08:39 -0400
Processing by InviterequestsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"pqDBzdaYKuOfjuVo1ovHvrQJTTrsUptAcQekCn4X+Ho=", "inviterequest"=>{"email"=>"[email protected]"}, "commit"=>"SUBMIT"}
Completed 406 Not Acceptable in 1ms (ActiveRecord: 0.0ms)
'f.submit' 대신'simple_form_for'에서'remote : true'를 사용하는 것 같습니다. 예 :'simple_form_for (@inviterequest, remote : true, html : {class : 'form-horizontal'})' – Bigxiang
예! 답변으로 답글을 다시 게시하면 올바른 것으로 표시 할 수 있습니다. – nishacodes
게시했습니다. 감사합니다. :) – Bigxiang