Rails respond_to

时间:2013-08-04 08:41:21

标签: javascript ruby-on-rails twitter-bootstrap

我的问题可能很简单: 在我的页面上,您可以通过单击链接激活模态(引导程序)。该模态包含一个表单。因此,如果有人提交该表单,并且某些输入字段无效,我想重新加载页面,这次自动加载此模式,显示包含错误消息的表单。 我怎样才能做到这一点? 谢谢!

1 个答案:

答案 0 :(得分:0)

那么,

您可以像往常一样使用与服务器端控制器交互的远程表单:

<%= form_tag('/example_path', remote: true) %>

remote: true部分告诉javascript Rails附带(如果你已经包含它)来执行ajax请求,而不是正常的请求。 Yo可以像服务器端的正常请求一样对待它:

class ExampleController < ApplicationController
  def method
    # [...]
    respond_to do |format|
      format.js { render :template }
    end
  end
end

这里的不同之处在于您使用format.js而不是通常的format.html。 Rails将查找不同的模板扩展名(在此示例中,该文件将被称为tempalte.js。您可以将其视为普通模板文件并在其中使用Ruby和JS.Rails将在响应时评估请求服务器返回。

有关详细信息,请查看herehere