2012-07-21 72 views
0

我有以下mogoid文档定义/类:Mongoid和质量分配

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

    belongs_to :group 

    validates_presence_of :name, :description 
end 

然后我有以下控制器和保存方法:

class ExercisesController < ApplicationController 
    respond_to :json 

    def create 
    @exercise = Exercise.create(params[:exercise]) 
    @exercise.save! 
    respond_with @exercise 
    end 
end 

这似乎是我错了,并开放给大众分配问题。

人们通常如何防范这一点,并会使用强大的参数创业板是一个好主意?

+0

这是一个好习惯,明确使用'attr_accessible'白名单属性默认大规模分配的保护。 – 2012-07-21 07:15:40

回答

0

您可以使用attr_accessible作为'标准'保护。这当然还有一个缺点,就是你在界面上暴露了很多字段,而你可能只想公开一些字段,但是需要在其他控制器中公开这些字段。

1

是的,你应该使用的strong_parameters宝石,它会在轨道4,5