0
为什么当使用ajax帮助器时,此create
操作无限循环?为什么在使用ajax帮助器时会创建动作无限循环?
class UsersController < ApplicationController
def index
@user = User.new
@users = User.all
end
def create
user_params = params.require(:user).permit(:email, :password)
@user = User.create!(user_params)
respond_to do |format|
create.html {redirect_to users_path}
create.js
end
end
end
以上结果导致无限循环的用户被创建。另外,create.js.erb永远不会运行,所以我假设post请求被重复发送。
当我删除respond_to
块,用简单的重定向替换它,并从窗体中删除remote: true
,一切工作正常。
形式(视图/用户/ index.html.erb):
<%= form_for(@user, remote: true) do |form| %>
<%= form.email_field :email, placeholder: "email" %>
<%= form.password_field :password, placeholder: "password" %>
<%= form.submit "Create User" %>
<% end %>
现在大'杜'时刻... – nipponese 2015-03-08 19:25:20