如何解决Rails中的jQuery Mobile表单处理
| 我已经创建了一个jQuery Mobile表单,用于创建\'user \'模型。表单正确地回传了所有信息,但是我不确定如何在相应控制器的操作中处理成功和失败案例。我通常会使用:# POST /user
def create
@user = User.create(params[:user])
respond_to do |format|
format.mobile { @user.valid? ? redirect_to(root_url) : render(action: \'new\') }
end
end
但是,这会导致jQuery Mobile中出现奇怪的动画(即在出现错误时将屏幕滑出)。有什么想法我应该呈现错误吗?
谢谢!
解决方法
我不了解手机,但是如果这基本上是ajax请求,那么当出现问题时,您需要返回return1ѭ。如果这只是正常的页面请求,则可以在视图中遍历
@user.errors
以显示所需的错误。
我也不建议使用? :operator3ѭ块内的运算符。是否在blocks5ѭ内和各个格式块之外使用if
语句,这样就不必使用? :随着您添加更多格式块,操作符将一遍又一遍。如果您有3个格式块,那么您将有3个? :语句,而不是1。
如果仅计划使用一种类型的格式,则可以在create
动作内部使用respond_with
,然后在控制器顶部使用respond_to :mobile
。默认情况下,您应该执行此操作,因为它可以正常工作并且可以清理控制器操作。
另外,您也不想立即致电User.create
。您应该使用User.new
,然后在主if
语句中对其调用@user.save
,以确定如何处理错误。这消除了@user.valid?
的调用,我认为这在习惯上更正确。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。