我认为 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