2015-10-18 53 views
1

我使用Sinatra和mysql2寶石。Ruby:查找SQL記錄並更新布爾字段

我正在試圖做一個名爲「process_complete」,這是一個布爾值的字段的簡單更新。

我的代碼是:

user = User.first!(email: user_email) 
    user.update(:process_complete => true) 

我得到的錯誤:

19:30:05 web.1 | INFO - (0.000603s) SELECT * FROM `users` WHERE (`email` = '[email protected]') LIMIT 1 
19:30:05 web.1 | 2015-10-18 19:30:05 - Sequel::MassAssignmentRestriction - method process_complete= doesn't exist: 

我在這裏幹什麼什麼了嗎?當我查看SELECT * FROM用戶WHERE (電子郵件= '[email protected]') LIMIT 1在mysql中我看到了我的用戶,並且「process_complete」設置爲0

我在這裏做錯了什麼?

+1

http://sequel.jeremyevans.net/rdoc/files/doc/mass_assignment_rdoc.html – jazzytomato

回答

1

嘗試以下操作:

user = User.where(email: user_email).first 
user.process_complete = true 
user.save 
+1

太好了!謝了哥們 – Jascination