【问题标题】:Rails Form: Reload data while keeping modified data intactRails Form:重新加载数据,同时保持修改后的数据不变
【发布时间】:2014-05-23 14:54:14
【问题描述】:
我正在尝试研究如何在 Rails 4 中修改表单页面上的某些显示数据,同时保持其余用户修改的数据完好无损。
Wordpress 博客文章编辑器就是这方面的典型代表。它在帖子中显示标签(和类别)列表,允许用户编辑内容,并在添加和删除标签时保持原样。
标签似乎已重新加载,对帖子的任何更改都不会丢失。
我假设这是通过 Javascript 完成的,但不确定如何。
谁能提供一个例子,或者指出一些可以提供帮助的东西?
谢谢。
【问题讨论】:
标签:
javascript
ruby-on-rails
forms
ruby-on-rails-4
reload
【解决方案1】:
让我解释一下 ajax-rails 和 remote=> true 的整个流程,您可以使用以下方式执行此操作,并在视图页面上重新加载修改后的数据
首先,当您使用 remote=> true 时,表单将提交或调用您在表单中定义的操作,例如:
<%= form_tag({:controller => 'my', :action => 'my_data'},:id => 'filter_form', :remote => true) do %>
#code here
<%= submit_tag 'save', :name => 'commit'%>
<%end%>
现在上面的代码将转到我的控制器中的 my_data 操作,
你可以在这里定义响应类型
def my_data
#actions on data here
respond_to do |format|
format.js
end
现在你必须创建一个 .js 文件,命名为动作名称....
my_data.js.erb
这里是表单的整体效果,您可以通过 jquery 和 javascript 编写和更新文档元素。