2013-05-22 45 views
1

我有一個表,從一個數據庫遷移創建:「不能大規模指派保護屬性」的錯誤,即使它們存在於attr_accessible

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) 

我得到這個錯誤:

Can't mass-assign protected attributes: title, body, create_date, author_id, status

我做錯了什麼?

回答

1

您正在嘗試創建User而不是創建Ticket

你的代碼更改爲:

Ticket.create(title: title, body: body, create_date: Time.zone.now, author_id @author_id, status: 0) 

希望,它會幫助你。

+0

是的,它可以幫助,謝謝... 太愚蠢錯誤... –

1

您正試圖創建一個用戶實例而不是一張票。

1

另外,如果你恨在訪問列表的每一個屬性標記,你願意在你的配置添加該/ application.rb中

config.active_record.whitelist_attributes = false

相關問題