作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在尝试做一些我认为相当简单的事情时遇到了很多麻烦。
我有一个项目列表,比方说,待办事项。在该列表的底部,我有一个文本字段,我可以在其中向该列表添加新项目。我想这样做,以便将新项目动态添加到该列表的底部,而无需刷新整个页面,就像在聊天窗口中一样。
我制作了提交表单 remote: true
并在没有重新加载页面的情况下成功提交,但我无法让新项目同时出现在列表底部。我必须刷新页面才能看到更改。
我尝试了在 SO(这里不乏类似问题)和网络上找到的几种不同方法,甚至尝试了一个名为 Sync 的 gem,但它们中的每一个都有自己的错误和问题,我无法得到任何正常工作。他们每个人都可以是自己的 SO 问题。所以我问:是否有一个“秘诀”可以确保在 Rails 4 中成功实现它?
最佳答案
比方说,现在您要提交一个用户表单,
<%=form_for @user,remote: true%><%end%>
你还有一个 Controller ,
UsersController
在你的 Controller 中,你有一个函数,
def create
#something
end
用于表单。
你唯一需要做的就是像这样修改函数
def create
#something
respond_to do |format|
format.js
format.html
end
end
然后在你的 View 端,在 view/users/目录下,创建一个 create.js 文件,在文件中,你可以执行 js 操作,比如获取新记录,并将新记录附加到用户列表.
引用:
http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html#form-for
关于javascript - 如何在不刷新的情况下在 Rails 4 中提交表单和更新页面元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22695595/
我是一名优秀的程序员,十分优秀!