蒙古人和群众分配

时间:2012-07-21 06:02:40

标签: ruby-on-rails mongoid strong-parameters

我有以下mogoid文档定义/类:

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

这对我来说似乎不对,并且容易受到群体分配问题的影响。

人们通常如何防止这种情况并且使用强参数gem是一个好主意?

2 个答案:

答案 0 :(得分:1)

是的,你应该使用strong_parameters gem,它将成为rails 4中的默认质量分配保护

答案 1 :(得分:0)

您可以将attr_accessible用作“标准”保护。当然,这仍然有一个缺点,即您将大量字段暴露给接口,而您可能只想暴露少数字段,但需要在其他控制器中公开这些字段。