我在 Rails 项目中使用 Prototype 对表单进行就地编辑(通过 Ajax.InPlaceEditor)。但是,我不希望它立即回发并进行更新 - 表单本身非常复杂,用户可能会决定放弃他们的更改。只是现在他们不能,因为表单已经(对他们)无形地更新了数据库。
因此,我想做的是使用 Prototype InPlaceEditor 而不指定回发 url(或使其成为返回 true 的通用回发 url),然后作为该字段的“onLeaveEditMode”的一部分,让它更新一个隐藏的表单字段新值。
这样,当用户获得就地编辑器的精美外观但仍然可以按底部的“取消”并撤消所有更改时。
所以,我在一个小测试原型中开始了这个任务,它似乎可以工作——除了它意味着大量的 javascript 代码,并且在某种程度上,感觉就像在混蛋 InPlaceEditor 的目的。这必须是一个已解决的问题,但我的 google-fu 并没有像我想要的那样返回任何东西。
有点像这样(但显然不是网格表单),您可以在其中就地编辑字段,但必须按“保存”来提交更改: http ://www.nitobi.com/products/grid/editors/
几个问题:1)是否有现有的 Rails 插件或 Prototype 类可以为我执行此操作?2)如果不是,我的方法听起来合理吗?
谢谢!!