我有一个表,是从数据库迁移创建的:
class CreateTickets < ActiveRecord::Migration
def up
create_table :tickets, :primary_key => :tickets_id do |t|
t.string :title, null: false
t.text :body
t.datetime :create_date
t.integer :author_id
t.integer :status, null: false, default: 0
end
end
模特:
class Ticket < ActiveRecord::Base
attr_accessible :title, :body, :create_date, :author_id, :status
end
当我尝试创建记录时:
User.create(title: title,body: body,create_date: Time.zone.now, author_id: @author_id,status: 0)
我收到此错误:
无法批量指定受保护的属性:title,body,create_date,author_id,status
我做错了什么?
答案 0 :(得分:1)
您尝试创建User
而不是创建Ticket
。
将您的代码更改为:
Ticket.create(title: title, body: body, create_date: Time.zone.now, author_id @author_id, status: 0)
希望,这会有所帮助。
答案 1 :(得分:1)
您正在尝试创建用户实例而不是故障单。
答案 2 :(得分:1)
另外,如果你讨厌在可访问列表中标记每个属性,你更愿意在config / application.rb中添加它。
config.active_record.whitelist_attributes = false