2012-07-21 101 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