Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript rails表单的提交是否可以避免离开当前视图?_Javascript_Ruby On Rails_Render_Edit - Fatal编程技术网

Javascript rails表单的提交是否可以避免离开当前视图?

Javascript rails表单的提交是否可以避免离开当前视图?,javascript,ruby-on-rails,render,edit,Javascript,Ruby On Rails,Render,Edit,在用户与页面交互时,我使用了一点javascript魔法来动态创建和隐藏div。每个div都包含应用程序某些部分的视图,这些视图中的每个模型实例都有一个所有者。如果浏览页面的人不是所有者,他们只会看到数据。但是,如果用户是数据的所有者,则会获得编辑视图 也许可以隐藏所有div的状态,并完全按照用户提交更改时的状态重新呈现页面,但我更希望有一种简单快捷的方式,让事务按照以下方式进行:用户点击提交按钮,服务器处理更改并发送回确认,屏幕上的微小更改会闪烁交易完成通知 有人有指向工作示例的指针吗?实现的

在用户与页面交互时,我使用了一点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