【发布时间】:2023-03-03 13:33:01
【问题描述】:
我正在尝试清除提交的表单,但问题是我的控制器处理了所有验证。
contact.js.haml 中的 AJAX 响应只是利用了无效数据时未定义的 flash。
/contact.js.haml
$("#new_message").replaceWith("#{j(render partial:'contact_mailer/contact_me', locals: {object: @message, notice: @notice} )}")
控制器在需要时设置通知
class MessagesController < ApplicationController
def contact
@message = Message.new(params[:message])
respond_to do |format|
if @message.valid?
flash.now[:notice] = 'Message was sent successfully.'
ContactMailer.contact_me(@message)
format.html { redirect_to contact_path, notice: 'Message was sent successfully.' }
format.js
else
format.html { redirect_to contact_path }
format.js
end
end
end
end
问题在于消息发送成功,表单仍然有相同的数据,允许用户发送垃圾邮件
我知道这可以通过 JSON 或 XML 发送数据来解决,但是有没有办法!
*编辑reset()不工作的截图
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax