首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails ActionView::MissingTemplate ajax函数

rails ActionView::MissingTemplate ajax函数
EN

Stack Overflow用户
提问于 2015-07-16 12:53:58
回答 2查看 639关注 0票数 0

我用ajax请求调用Rails控制器函数。它很有效,但我得到了一个错误:

代码语言:javascript
复制
ActionView::MissingTemplate

控制器的职能是:

代码语言:javascript
复制
# 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调用如下所示:

代码语言:javascript
复制
$.ajax({
       url: '<%= url_for(:controller => "courses", :action => "activate_lesson") %>',
       data: {"id": <%= lesson.id%>, "active": 0}
                })
                        .done(function () {
                            saved();
                        })
                        .fail(function () {
                            notsaved();
                        })

如何解决错误?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-16 13:00:58

您需要从控制器呈现json

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2015-07-16 12:59:58

当您在控制器内使用动作时,如果您没有说明它应该呈现给它搜索的特定模板。

app/views/controller_name_without_word_controller/action_name.html.*

在您的示例中,它正在搜索app/views/controller_name/activate.html.*来呈现它,但是您没有该文件。

解决方案是返回json响应,因为您使用的是ajax,但是可以返回html

你可以写:

代码语言:javascript
复制
 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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31454758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档