“警告:无法批量分配受保护的属性”
我使用了RESTful技术来生成模型(实际上,我使用的是Devise gem,它为我完成了此工作),并且向模型添加了名为first_name和last_name的新字段。迁移进行得很好。我在模型中添加了attr_accessor:first_name,:last_name并期望它可以正常工作。但是,当我尝试使用Doctor.create({:first_name =>“ MyName”})等批量分配新实例时,出现错误,提示无法批量分配受保护的属性。 我认为使用attr_accessor的全部目的是避开模型字段的保护。您能帮助我理解此消息吗? 编辑:哦,顺便说一句,也不会创建记录。我认为应该这样做,因为这只是一个警告,但它们不在数据库中。 Edit2:这是我的模型 class Doctor < User has_many :patients has_many :prescriptions, :through=> :patients validates_presence_of :invitations, :on => :create, :message => "can't be blank" attr_accessor :invitations end 以及没有first_name和last_name的架构,因为它们是在users表中创建的,users表是医生的祖先。我使用了单表继承。 create_table :doctors do |t| t.integer :invitations t.timestamps end 这是更改用户表的迁移 add_column :users, :first_name, :string add_column :users, :last_name, :string add_column :users, …