【发布时间】:2010-11-10 10:24:50
【问题描述】:
好的。我有一个创建表单,人们可以在其中创建业务,然后将其添加到数据库中。一切正常。如果没有正确填写,Rails 会抛出错误,如果填写正确,您将被引导到另一个页面,该页面将显示您刚刚创建的业务。现在有了这个,我必须能够单击创建并让 ajax 实现业务并将其添加到下表中。事情有点奏效。 1 业务已更新但未动态添加到表中。 2. 更大的问题是他们没有填写必填字段,点击创建什么也没做。它不会抛出任何错误。我正在使用 jquery 通过 .js.erb 文件调用 ajax。这是我的 .js.erb 文件。
$("#new_business").before('<div id="flash_notice"><%= escape_javascript(flash.delete(:notice)) %></div>');
$("#businesses").append("<%= escape_javascript(render(:partial => @businesses)) %>");
$("#new_business")[0].reset();
和我的业务主管
def create
@business = Business.new(params[:business])
respond_to do |format|
if @business.save
#blindly make them the owner of the business they created
if current_user
current_user.business_id = @business.id
current_user.save
end
flash.now[:notice] = 'Business was successfully created.'
format.html { redirect_to(business_url(@business)) }
format.js { render :layout => false }
format.xml { render :xml => @business, :status => :created, :location => @business }
else
flash.now[:notice] = 'Necessary fields have not been filled out'
format.html { render :action => "new" }
format.xml { render :xml => @business.errors, :status => :unprocessable_entity }
end
end
end
Flash 通知 = 未填写的必填字段不会显示,除非您刷新页面。也没有显示任何默认的 xml 错误。因此,如果他们没有填写所有正确的表格,则该按钮似乎没有响应。如何使用 ajax 调用 ruby 抛出的错误并将它们放入 flash 通知中?
【问题讨论】:
标签: jquery ruby-on-rails ajax forms error-handling