无法批量分配受保护的属性问题

时间:2012-07-04 05:02:22

标签: ruby-on-rails-3 mass-assignment

我知道为什么大规模分配背后的所有安全原因都很糟糕,我无法弄清楚为什么我的应用程序试图进行大规模分配。

我只是想创建我的Section模型的新记录,并且我得到了“无法大量分配受保护的属性”错误。以下是可能涉及的模型。有人可以向我解释这是一个批量分配吗?我是rails的新手,所以我可能会错过很简单的东西。

class Section < ActiveRecord::Base
  belongs_to :project
  belongs_to :type, :foreign_key => 'type_id', :class_name => 'SectionType'
  attr_accessor :order
end

class SectionType < ActiveRecord::Base
  attr_accessible :name, :template
end

class Project < ActiveRecord::Base
  has_many :sections
  attr_accessible :description, :name, :short, :status, :subtitle, :version

  def to_param
    return name.gsub(/\s+/, '%20')
  end
end

任何帮助都会非常感激,我是rails的新手并且知道这可能是一个简单的问题,但我一直试图找到答案而不能。

1 个答案:

答案 0 :(得分:1)

如果您正在尝试创建一个新的Section对象而且失败了,那是因为您没有在该模型中列出可访问的任何属性。您需要使用与attr_accessible模型中的Project类似的调用来执行此操作。