我有以下mongoid模型类:
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
模型在有效时保存正常但在运行以下行时保存:
respond_with(@exercise.errors, :status => :unprocessable_entity)
我收到以下错误
未定义的方法`model_name'用于ActiveModel :: Errors:Class
填充了错误集合,因此我认为我的respond_with语法错误。
答案 0 :(得分:2)
rails respond_with helper期望接收rails模型对象作为第一个参数。所以在这种情况下你只需要response_with @exercise,status :: unprocessable_entity然后在你的响应视图中你需要正确格式化错误数据,我假设你是通过ajax做这个并用json响应等。希望有所帮助。