2

当用户与页面交互时,我有一点 javascript 魔术来动态创建和隐藏 div。每个 div 包含我的应用程序某些部分的视图,并且这些视图中的每个模型实例都有一个所有者。如果浏览页面的人不是所有者,他们只会看到数据。但是,如果用户是数据的所有者,他们将获得编辑视图。

可能会隐藏所有 div 的状态并重新呈现页面,就像用户提交更改时一样,但我宁愿有一些快速简便的方法来让事务继续进行行:用户点击提交按钮,服务器处理更改并发送回确认,屏幕上的微小更改闪烁交易完成的通知。

任何人都有一个工作示例的指针?实施的门槛将是做我在这里问的事情是否更容易,或者只是咬紧牙关并通过事务携带 div 状态。

4

2 回答 2

3

正如 On Freund 所说,remote_form_for 是要走的路。再加上一点 RJS,你就可以开始运行了:

# Form
- remote_form_for(@obj, :url => obj_path(@obj)) do |f|

  = f.text_field :some_attribute
  = f.submit "Submit"


# Controller action

def edit
  respond_to do |wants|
    wants.html { }
    wants.js {
      render :update do |page|
        page.replace_html :some_div, "Some content"
      end
    }
  end
end
于 2009-03-12T12:42:53.863 回答
0

听起来您所需要的只是一些 Ajax 魔法。查看 remote_form_for 或任何其他Prototype Helpers

于 2009-03-12T08:08:48.343 回答