1
我已經瀏覽了這些類型的問題,但沒有一個適用於我。在HTML軌道中提交AJAX表單4
奇怪的是,相同的策略,以不同的形式完美地工作。
我有模型驗證的地方,但是當我提交一個空的表單時,我得到一個錯誤的ceeate格式爲HTML的模板。
我猜每個文件的目的都是不言自明的。
我ContactsController.rb:
class ContactsController < ApplicationController
respond_to :html, :js
def new
@contact = Contact.new
end
def create
@contact = Contact.new(params[:contact])
@contact.request = request
end
end
new.js.ebr:
$("#main-block").html("<%= escape_javascript(render 'contact_form') %>")
_contact_form.html.erb:
<div align="center">
<h3>Sazinieties ar mums</h3>
<ul class="errors"></ul>
<%= form_for @contact, :html => {:class => 'form-horizontal' } do |f| %>
<div class="control-group">
<%= f.label :name, class: "control-label" %>
<div class="controls">
<%= f.text_field :name %>
</div>
</div>
<div class="control-group"><div class="field">
<%= f.label :e_mail, class: "control-label" %>
<div class="controls">
<%= f.email_field :e_mail %>
</div>
</div>
<div class="control-group"><div class="field">
<%= f.label :message, class: "control-label" %>
<div class="controls">
<%= f.text_area :message %>
</div>
</div>
<div>
</br>
<%= f.submit('Sūtīt', remote: true, class: "btn btn-primary") %>
</div>
<% end %>
</div>
create.js。 ERB:
<%= render 'save' %>
_save.js.erb:
$("ul.errors").html("")
<% if @contact.errors.any? %>
<% @contact.errors.full_messages.each do |message| %>
$("ul.errors").append($("<li />").html("<%= message.html_safe %>"))
<% end %>
<% else %>
$("#main-block").empty()
$("#main-block").html("Ziņa ir nosūtīta. Tuvākajā laikā sniegsim atbildi!")
<% end %>
謝謝。忘了你用遠程真正的形式。 – Kkulikovskis