当用户与页面交互时,我有一些javascript魔法可以动态创建和隐藏div。每个div包含我的应用程序的某些部分的视图,这些视图中的每个模型实例都有一个所有者。如果浏览页面的人不是所有者,他们只会看到数据。但是,如果用户是数据的所有者,则会获得编辑视图。
有可能隐藏所有div的状态并重新呈现页面,就像用户提交更改时一样,但我宁愿只是有一些快速简便的方法来进行交易是这样的:用户点击提交按钮,服务器处理更改并发回确认,屏幕上的微小更改闪烁交易完成的通知。
任何人都有指向工作示例的指针?实施的门槛将是我在这里做什么更容易,或者只是咬紧牙关并通过交易进行div状态。
答案 0 :(得分:3)
正如弗里德所说,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
答案 1 :(得分:0)
听起来你只需要一些Ajax魔法。查看remote_form_for或其他任何Prototype Helpers。