Я новичок в рельсах и jQuery. У меня есть две отдельные формы на одной странице, и я хочу отправить их отдельно с помощью ajax (с помощью jQuery). Вот как далеко я зашел. Может ли кто-нибудь добавить или исправить этот код, чтобы он работал. Я использую Rails 3.1 и jQuery 1.6. Заранее спасибо.
application.js
$(".savebutton").click(function() {
$('form').submit(function() {
$(this).serialize();
});
});
первая форма:
<%=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%>
вторая форма:
<%=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 имеет ту же форму, что и SchoolController
routes.rb
, вам необходимо убедиться, что вы используете POST, а не GET. Используя jQuery, просто добавьтеtype: 'POST'
к$.ajax
вызову.