【发布时间】:2009-02-28 00:44:50
【问题描述】:
我有一个模型帖子,用户可以在其中编辑和删除自己的帖子。我的索引页面是一个表格,每个帖子都有几列。其中一个持有删除按钮的表单。有没有关于 jquery 如何使用 rails 提交发布/删除表单的示例?我需要将状态传回给用户。例如。帖子已删除,访问被拒绝等,如果成功则删除该行。
最好的问候。 阿斯比约恩·莫雷尔。
【问题讨论】:
标签: jquery ruby-on-rails
我有一个模型帖子,用户可以在其中编辑和删除自己的帖子。我的索引页面是一个表格,每个帖子都有几列。其中一个持有删除按钮的表单。有没有关于 jquery 如何使用 rails 提交发布/删除表单的示例?我需要将状态传回给用户。例如。帖子已删除,访问被拒绝等,如果成功则删除该行。
最好的问候。 阿斯比约恩·莫雷尔。
【问题讨论】:
标签: jquery ruby-on-rails
如果操作成功,则响应将是成功的(即 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。希望这会有所帮助。
【讨论】:
您应该查看 link_to_remote 方法;它使用 AJAX——我假设你所说的“JQuery”是什么意思。
我通常会这样做:
<%= link_to_remote "Delete", :url => some_path(@object), :method => :delete %>
【讨论】:
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,它几乎涵盖了我想做的事情。我唯一想不通的是我如何从控制器返回错误或成功。
【讨论】: