Jquery rails ActionView::缺少模板ajax函数
我使用ajax请求调用Rails控制器函数。它可以工作,但我返回了一个错误:Jquery rails ActionView::缺少模板ajax函数,jquery,ruby-on-rails,ajax,ruby-on-rails-4,Jquery,Ruby On Rails,Ajax,Ruby On Rails 4,我使用ajax请求调用Rails控制器函数。它可以工作,但我返回了一个错误: ActionView::MissingTemplate 控制器功能是: # Aktiviert einen Kurs. Diese Action wird von einem AJAX-Aufruf aus aufgerufen def activate @course = Course.find params[:id] return false unless check_authorizat
ActionView::MissingTemplate
控制器功能是:
# Aktiviert einen Kurs. Diese Action wird von einem AJAX-Aufruf aus aufgerufen
def activate
@course = Course.find params[:id]
return false unless check_authorization @course
@course.active = params[:active]
@course.save
redirect_to :back
end
ajax调用如下所示:
$.ajax({
url: '<%= url_for(:controller => "courses", :action => "activate_lesson") %>',
data: {"id": <%= lesson.id%>, "active": 0}
})
.done(function () {
saved();
})
.fail(function () {
notsaved();
})
$.ajax({
url:“‘课程’,:操作=>“激活课程”)%>”,
数据:{“id”:“活动”:0}
})
.done(函数(){
保存();
})
.fail(函数(){
不保存();
})
如何解决错误 当您在控制器内部使用操作时,如果您没有说明它应该呈现什么样的特定模板,那么它将进行搜索
app/views/controller\u name\u不带word\u controller/action\u name.html.*
在您的情况下,它正在搜索app/views/controller\u name/activate.html.*
以呈现它,但您没有该文件
解决方案是返回json
响应,因为您使用的是ajax
,但您可以返回html
你可以写:
def activate
@course = Course.find params[:id]
return false unless check_authorization @course
@course.active = params[:active]
@course.save
render json: @course # or whatever you want to return
end
在控制器内部使用操作时,若并没有说明它应该呈现什么样的特定模板,则会搜索该模板
app/views/controller\u name\u不带word\u controller/action\u name.html.*
在您的情况下,它正在搜索app/views/controller\u name/activate.html.*
以呈现它,但您没有该文件
解决方案是返回json
响应,因为您使用的是ajax
,但您可以返回html
你可以写:
def activate
@course = Course.find params[:id]
return false unless check_authorization @course
@course.active = params[:active]
@course.save
render json: @course # or whatever you want to return
end
在控制器内部使用操作时,若并没有说明它应该呈现什么样的特定模板,则会搜索该模板
app/views/controller\u name\u不带word\u controller/action\u name.html.*
在您的情况下,它正在搜索app/views/controller\u name/activate.html.*
以呈现它,但您没有该文件
解决方案是返回json
响应,因为您使用的是ajax
,但您可以返回html
你可以写:
def activate
@course = Course.find params[:id]
return false unless check_authorization @course
@course.active = params[:active]
@course.save
render json: @course # or whatever you want to return
end
在控制器内部使用操作时,若并没有说明它应该呈现什么样的特定模板,则会搜索该模板
app/views/controller\u name\u不带word\u controller/action\u name.html.*
在您的情况下,它正在搜索app/views/controller\u name/activate.html.*
以呈现它,但您没有该文件
解决方案是返回json
响应,因为您使用的是ajax
,但您可以返回html
你可以写:
def activate
@course = Course.find params[:id]
return false unless check_authorization @course
@course.active = params[:active]
@course.save
render json: @course # or whatever you want to return
end
您需要从控制器中呈现
json
before_filter :authorized?, :only => :activate
def activate
@course.active = params[:active]
if @course.save
render :json => {:status => :ok}
else
render :json => {:errors => @course.errors}
end
end
def authorized?
@course = Course.find params[:id]
render :json => {:status => 401, :error => :unauthorized} unless check_authorization(@course)
end
您需要从控制器中呈现
json
before_filter :authorized?, :only => :activate
def activate
@course.active = params[:active]
if @course.save
render :json => {:status => :ok}
else
render :json => {:errors => @course.errors}
end
end
def authorized?
@course = Course.find params[:id]
render :json => {:status => 401, :error => :unauthorized} unless check_authorization(@course)
end
您需要从控制器中呈现
json
before_filter :authorized?, :only => :activate
def activate
@course.active = params[:active]
if @course.save
render :json => {:status => :ok}
else
render :json => {:errors => @course.errors}
end
end
def authorized?
@course = Course.find params[:id]
render :json => {:status => 401, :error => :unauthorized} unless check_authorization(@course)
end
您需要从控制器中呈现
json
before_filter :authorized?, :only => :activate
def activate
@course.active = params[:active]
if @course.save
render :json => {:status => :ok}
else
render :json => {:errors => @course.errors}
end
end
def authorized?
@course = Course.find params[:id]
render :json => {:status => 401, :error => :unauthorized} unless check_authorization(@course)
end
为什么在控制器中使用
redirect\u to:back
。。。但是如果有或没有更改,redirect_to:back
将无助于呈现json:{data:12}
将起作用。。这就是语法。。返回对Ajax调用方的响应..为什么要在controller中使用重定向\u to:back
?我想这可能会有帮助。。。但是如果有或没有更改,redirect_to:back
将无助于呈现json:{data:12}
将起作用。。这就是语法。。返回对Ajax调用方的响应..为什么要在controller中使用重定向\u to:back
?我想这可能会有帮助。。。但是如果有或没有更改,redirect_to:back
将无助于呈现json:{data:12}
将起作用。。这就是语法。。返回对Ajax调用方的响应..为什么要在controller中使用重定向\u to:back
?我想这可能会有帮助。。。但是如果有或没有更改,redirect_to:back
将无助于呈现json:{data:12}
将起作用。。这就是语法。。返回对Ajax调用方的响应…谢谢,但我也收到了相同的错误。。。没有什么改变,但是我也犯了同样的错误。。。没有什么改变,但是我也犯了同样的错误。。。没有什么改变,但是我也犯了同样的错误。。。没什么变化我也尝试过这个解决方案,但我也犯了同样的错误啊!您正在调用激活课程
操作。它与激活
操作不同吗?谢谢这是我需要的提示^^我必须更新激活课程操作!我也尝试过这个解决方案,但我也犯了同样的错误啊!您正在调用激活课程
操作。它与激活
操作不同吗?谢谢这是我需要的提示^^我必须更新激活课程操作!我也尝试过这个解决方案,但我也犯了同样的错误啊!您正在调用激活课程
操作。它与激活
操作不同吗?谢谢这是我需要的提示^^我必须更新激活课程操作!我也尝试过这个解决方案,但我也犯了同样的错误啊!您正在调用激活课程
操作。它与激活
操作不同吗?谢谢这是我需要的提示^^我必须更新激活课程操作!