Rails 3远程表单Ajax成功

时间:2013-06-03 16:42:54

标签: ruby-on-rails-3 ujs

我遇到了一些问题,想知道如何使用rails 3 ujs ajax处理我的条目表上的成功。

如果有错误,我有一个alert(j(@entry.errors.full_messages)的create.js.erb,这样可行。但是如果没有错误,表单不会重定向(因为我在对话框中渲染),我希望js提醒(“成功”)并关闭对话框。 (使用fancybox 2)。

你能给我一些使用rails 3 ujs和ajax的指针吗?

1 个答案:

答案 0 :(得分:0)

一种方法是在控制器级别识别和处理错误,而不是查看。

def create
  @entry = something
  if @entry.save
    @notice = "Success message!"
    respond_to :js # render default create.js.erb
  else
    respond_to :js { render 'create_error.js.erb' }
  end
end

// create.js.erb
$("#dialog").close();
alert("<%= @notice %>">;

// create_error.js.erb
alert(j(@entry.errors.full_messages);