提交rails表格是否可以避免导航离开当前视图?

时间:2009-03-12 07:54:43

标签: javascript ruby-on-rails render edit

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

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

任何人都有指向工作示例的指针?实施的门槛将是我在这里做什么更容易,或者只是咬紧牙关并通过交易进行div状态。

2 个答案:

答案 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