【问题标题】:Mongoid and mass assignmentMongoid 和质量分配
【发布时间】:2012-07-21 06:02:40
【问题描述】:

我有以下 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 是个好主意吗?

【问题讨论】:

  • 明确使用attr_accessible 将属性列入白名单是一个好习惯。

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您可以使用 attr_accessible 作为“标准”保护。当然,这仍然有一个缺点,即您向接口公开了很多字段,而您可能只想公开一些字段,但需要在其他控制器中公开这些字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多