【问题标题】:Can the submission of a rails form avoid navigating away from the current view?提交 rails 表单可以避免离开当前视图吗?
【发布时间】:2009-03-12 07:54:42
【问题描述】:

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

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

谁有一个工作示例的指针?实施的门槛将是做我在这里询问的事情是否更容易,或者只是咬紧牙关并通过事务携带 div 状态。

【问题讨论】:

    标签: javascript ruby-on-rails render edit


    【解决方案1】:

    正如 On Freund 所说,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
    

    【讨论】:

      【解决方案2】:

      听起来您所需要的只是一些 Ajax 魔法。查看 remote_form_for 或任何其他 Prototype Helpers

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多