Javascript rails表单的提交是否可以避免离开当前视图?
在用户与页面交互时,我使用了一点javascript魔法来动态创建和隐藏div。每个div都包含应用程序某些部分的视图,这些视图中的每个模型实例都有一个所有者。如果浏览页面的人不是所有者,他们只会看到数据。但是,如果用户是数据的所有者,则会获得编辑视图 也许可以隐藏所有div的状态,并完全按照用户提交更改时的状态重新呈现页面,但我更希望有一种简单快捷的方式,让事务按照以下方式进行:用户点击提交按钮,服务器处理更改并发送回确认,屏幕上的微小更改会闪烁交易完成通知Javascript rails表单的提交是否可以避免离开当前视图?,javascript,ruby-on-rails,render,edit,Javascript,Ruby On Rails,Render,Edit,在用户与页面交互时,我使用了一点javascript魔法来动态创建和隐藏div。每个div都包含应用程序某些部分的视图,这些视图中的每个模型实例都有一个所有者。如果浏览页面的人不是所有者,他们只会看到数据。但是,如果用户是数据的所有者,则会获得编辑视图 也许可以隐藏所有div的状态,并完全按照用户提交更改时的状态重新呈现页面,但我更希望有一种简单快捷的方式,让事务按照以下方式进行:用户点击提交按钮,服务器处理更改并发送回确认,屏幕上的微小更改会闪烁交易完成通知 有人有指向工作示例的指针吗?实现的
有人有指向工作示例的指针吗?实现的关键在于,是更容易实现我在这里要求的内容,还是咬紧牙关在事务中执行div状态。听起来您需要的只是一些Ajax魔术。看看remote\u form\u for(远程表单)或其他任何表单。正如Freund所指出的那样,remote\u form\u for(远程表单)是一个不错的选择。再配上少量RJ,你就可以开始跑步了:
# 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