0

我认为 AJAX 可能是我回答的最合乎逻辑的途径,但我找不到一种方法来使用 AJAX 帖子而不使我的路由约定无用。据我所知,使用

<%= form_for(@post) do |f| %>

你不能给 form_for 助手一个 ID- 至少不能用 'do |f|' 在那里。如果我正确理解这行代码..

$("#test").ajaxForm({url: '/posts', type: 'post'})

然后我需要给我的表单标签一个 ID。如果这是真的,我可以通过这样做来解决这个问题

<form id="test">

但是,我不仅要重命名我的所有助手,我还必须编辑我的控制器来解析表单发布的数据。考虑到我项目的规模,这可能需要一周的时间……而且它在一定程度上降低了规模的潜力。

我为什么要这样做的概要 - 我有一个从技术上讲是“编辑”页面的表单,但它更多的是显示、编辑和新的混合。有来自上个月工作的信息、上个月工作的编辑框和本月的新框。该页面有四个主要“块”,每个块都有一组单独的信息,这些信息可能存储或不存储在单独的数据库表中,该表可能与其他任何表相关,也可能不相关。

对于员工来说,能够定期发布更新很重要——每隔几秒钟左右。但是,这会杀死系统资源,因为每次发布时都会重新加载整个页面。我已经编写了代码,以便在单击按钮时使用 AJAX 刷新特定块,但是如果整个页面在发布后自动重新刷新,这对我没有好处。有没有办法在更新操作中禁用重新加载,或者使用 AJAX 以不同的方式发布以使页面不刷新/重定向?

使用 rails 3.0.20 使用 ruby​​ 1.8.7 (2012-10-12 patchlevel 371) 使用 Ubuntu 12.04 LTS

4

1 回答 1

1

我会查看 form_for 文档(http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for)。

快速回答是您需要添加remote: true到您的 form_for。

于 2013-07-24T19:25:07.663 回答