【发布时间】:2013-10-13 23:21:17
【问题描述】:
在"Working With Javascript" section of the Rails Edge Guides 中,给出了一个示例,说明如何在“用户”控制器中构建“创建”操作,以便将 AJAX 集成到创建操作中:
# app/controllers/users_controller.rb
# ......
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.js {}
format.json { render json: @user, status: :created, location: @user }
else
format.html { render action: "new" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
我读过here 'format.js' 和 'format.json' 都需要,因为 Javascript 和 JSON 是不同类型的响应。我的问题是,如果在“创建”操作的 if 语句的前半部分都指定了这两种格式,为什么在后半部分也不需要这两种格式?这是否意味着 Javascript 在成功时使用“create.js.erb”文件,但在失败时不使用?
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax json