rails 4 官方教程里有这样的代码
# 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
else 条件里没有format.js {}
,执行到的时候不是会报错吗?
问题 2,如果 action 里没有 respond_to,只要 views 里能找到 create.XXX.erb,浏览器地址栏加任意已注册 MIME 扩展名都不会出错。 如果 action 里有 respond_to,没有用 format.xxx 列出的,即使能找到 views 里的模板,也会出错?
问题 3,js 好像又比较特殊,只要有 format.html,访问 create.js 取到的也是 html,怎么会这样?