ActionController :: UnknownFormat在respond_to中使用javascript格式

时间:2014-10-28 01:05:38

标签: javascript ruby-on-rails ruby-on-rails-4

我正在构建我的第一个应用程序,该应用程序使用javascript作为对控制器操作请求的响应。我在我的控制器中定义了create这样的动作:

def create
    @cat = Cat.new(cat_params)

    respond_to do |format|
      if @cat.save
        format.js
      end
    end
end

我在create.js.erb内创建了views/cats,其中包含响应代码。在我的视图中触发create操作后,我收到以下错误:

ActionController::UnknownFormat in CatsController#create
ActionController::UnknownFormat

如何处理这个问题?您有什么推荐的吗?我正在使用Rails4

1 个答案:

答案 0 :(得分:0)

您可能会收到该错误,因为如果@cat没有保存,您就没有格式。这应该适合你:

def create
  @cat = Cat.new(cat_params)

  respond_to do |format|
    if @cat.save
      format.js
    else
      #assuming that you are using js throughout
      format.js { render :new }
    end
  end
end