如何实现AJAX表单并呈现模板?

时间:2012-02-09 19:27:53

标签: ruby-on-rails ruby-on-rails-3

我将描述一个由AJAX表单组成的应用程序,该表单也适用于禁用的Javascript。

提交时,如果禁用Javascript,则会呈现名为“created”的新模板。 如果启用了Javascript,它也应该渲染它,但我不知道该怎么做。

请注意该模板没有控制器操作或路由,只是使用与表单相同的路径显示。

文件:

app/controllers/users_controller.rb
app/views/users/new.html.erb
app/views/users/created.html.erb

users_controller.rb:

def create
  respond_to do |format|
    format.html { render :created }
    format.js { render js: ??? }
  end
end

new.html.erb:

<%= form_tag users_path, remote: true %>
  <%= email_field_tag :email %>

  <%= submit_tag "OK" %>
<% end %>

created.html.erb:

<div>
  Inside this file there is a big template to be rendered.
</div>

1 个答案:

答案 0 :(得分:1)

您应该在create.js.erb中创建一个views/users文件并将内容放在那里。

然后从de控制器调用format.js

有关完整示例,请参阅此RailsCast:http://railscasts.com/episodes/136-jquery