2012-07-21 40 views
4

我有以下mongoid模型類:未定義的方法`MODEL_NAME」加載ActiveModel爲::錯誤:

class Exercise 
    include Mongoid::Document 
    field :name, :type => String 
    field :description, :type => String 

    belongs_to :group 

    validates_presence_of :name, :description, :group 
end 

而且我有以下控制器:

class ExercisesController < ApplicationController 
    respond_to :json 

    def create 
    @exercise = Exercise.create(params[:exercise]) 
    if @exercise.save 
     respond_with @exercise 
    else 
     respond_with(@exercise.errors, :status => :unprocessable_entity) 
    end 
    end 
end 

模型保存很好,當有效但當下面一行是RAN:

respond_with(@exercise.errors, :status => :unprocessable_entity) 

我收到以下錯誤

未定義的方法`MODEL_NAME」加載ActiveModel爲::錯誤:類

填充錯誤集合,所以我覺得我的respond_with語法是錯誤的。

+3

您不應該'respond_with(@exercise,....)'而不是'respond_with(@ exercise.errors,...)' – rubish 2012-07-23 20:51:24

+0

謝謝,這是正確的 – dagda1 2012-07-24 20:02:45

回答

2

導軌respond_with helper期望接收導軌模型對象作爲第一個參數。因此,在這種情況下,您只需要respond_with @exercise,status :: unprocessable_entity然後在響應視圖中,您需要正確格式化錯誤數據,我假設您通過ajax執行此操作並使用json響應等。希望有所幫助。

相關問題