【问题标题】:How to delete object/row with jquery (post form)如何使用 jquery 删除对象/行(发布表单)
【发布时间】:2009-02-28 00:44:50
【问题描述】:

我有一个模型帖子,用户可以在其中编辑和删除自己的帖子。我的索引页面是一个表格,每个帖子都有几列。其中一个持有删除按钮的表单。有没有关于 jquery 如何使用 rails 提交发布/删除表单的示例?我需要将状态传回给用户。例如。帖子已删除,访问被拒绝等,如果成功则删除该行。

最好的问候。 阿斯比约恩·莫雷尔。

【问题讨论】:

    标签: jquery ruby-on-rails


    【解决方案1】:

    如果操作成功,则响应将是成功的(即 200 OK)。如果请求遇到错误,您可以在 jQuery 中添加错误函数:

    error: function() {
      // the item has not been deleted
      // and we encountered an error
    }
    

    如果你想显式返回你自己的错误,那么在你的控制器中:

    render :text => 'Could not compute!', :status => :unprocessable_entity
    

    any other error。希望这会有所帮助。

    【讨论】:

    • 您好,我最后简单地检查了 flash[] 变量。控制器: if @post.destroy flash[:note] = "Post was destroy" end js.erb 隐藏行等 显示 flash文字
    【解决方案2】:

    您应该查看 link_to_remote 方法;它使用 AJAX——我假设你所说的“JQuery”是什么意思。

    我通常会这样做:

    <%= link_to_remote "Delete", :url => some_path(@object), :method => :delete %>
    

    【讨论】:

      【解决方案3】:

      link_to_remote。将创建生成帖子表单的内联 Javascript。如果禁用 Javascript,这将不起作用。

      我创建了一个标准的 html 表单,它可以在没有 Javascript 的情况下工作,如果启用了 Javascript,我想用 jquery 来增加它的趣味性。

      <% form_for @post, :html => { :method => 'delete' } do |f| %>
          <%= submit_tag "Delete", :name => "delete" %>
      <% end %>
      

      I found this blob last night,它几乎涵盖了我想做的事情。我唯一想不通的是我如何从控制器返回错误或成功。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-03
        相关资源
        最近更新 更多