转自:https://github.com/markcatley/responds_to_parent
插件下载地址:ruby script/plugin install http://responds-to-parent.googlecode.com/svn/trunk/
Adds responds_to_parent to your controller to respond to the parentdocument of your page. Make Ajaxy file uploads by posting the form to ahidden iframe,and respond with RJS to the parent window.
Example
Controller:
class Test < ActionController::Base def main end def form_action # Do stuff with params[:uploaded_file] responds_to_parent do render :update do |page| page << "alert($('stuff').innerHTML)" end end end end
main.rhtml:
<html> <body> <div id="stuff">Here is some stuff</div> <form target="frame" action="form_action"> <input type="file" name="uploaded_file"/> <input type="submit"/> </form> <iframe id='frame' name="frame"></iframe> </body> </html>