Tôi là người mới bắt đầu về rails và jQuery. Tôi có hai biểu mẫu riêng biệt trong một trang và tôi muốn gửi chúng riêng biệt theo cách ajax (với jQuery). Đây là cách tôi đã đi xa. Ai có thể thêm hoặc sửa mã này để làm cho nó hoạt động. Tôi đang sử dụng Rails 3.1 và jQuery 1.6. Cảm ơn bạn trước.
application.js
$(".savebutton").click(function() {
$('form').submit(function() {
$(this).serialize();
});
});
hình thức đầu tiên:
<%=form_for :users do |f| %>
<fieldset>
<legend>Basic details</legend>
<%= f.label :school %>
<%= f.text_field :school,:size=>"45",:class=>"round",:id=>"school" %><br/>
</fieldset>
<p><%= button_to "save and continue",{:class=>"savebutton"} %></p>
<%end%>
Dạng thứ hai:
<%=form_for :courses do |c| %>
<fieldset>
<legend>Your current classes</legend>
<label>class:</label><%= c.text_field :subject,:size=>"45",:class=>"round" %><br/>
</fieldset>
<p><%= button_to "save and continue",{:class=>"savebutton"} %></p>
<%end%>
SchoolController
class SchoolController < ApplicationController
respond_to :json
def create
@school = current_user.posts.build(params[:school].merge(:user => current_user))
if @school.save
respond_with @school
else
respond_with @school.errors, :status => :unprocessable_entity
end
end
end
CourseController có cùng hình dạng với SchoolController
routes.rb
, bạn sẽ cần đảm bảo rằng bạn đang sử dụng POST chứ không phải GET. Sử dụng jQuery, chỉ cần thêmtype: 'POST'
vào$.ajax
cuộc gọi.