所以我试图运行这个的轨道c:
Borrower.update(1, raised: 0)
和此:
Borrower Load (0.3ms) SELECT "borrowers".* FROM "borrowers" WHERE "borrowers"."id" = $1 LIMIT 1 [["id", 1]]
(0.2ms) BEGIN
Borrower Exists (0.5ms) SELECT 1 AS one FROM "borrowers" WHERE (LOWER("borrowers"."email") = LOWER('j@kay.com') AND "borrowers"."id" != 1) LIMIT 1
(0.2ms) ROLLBACK
"table with raised = 0"
1 row in set
我得到了回滚:
class Borrower < ActiveRecord::Base
has_many :lenders
has_many :histories, dependent: :destroy
has_many :borrowed_from, through: :histories, source: :lender
EMAIL_REGEX = /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]+)\z/i
validates :first_name, :last_name, :email, :purpose, :description, :money, presence: true
validates :email, uniqueness: {case_sensitive: false}, format: {with: EMAIL_REGEX}
has_secure_password
end
这是我的“借款人”模型:
create_table "borrowers", force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.string "email"
t.string "password_digest"
t.integer "money"
t.string "purpose"
t.text "description"
t.integer "raised"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
和我的架构:
int * objects = (int *)malloc(amount_of_objects * 7 * sizeof(int));
if (x_vector != 0 || y_vector != 0 || z_vector != 0) {
for (int j = 0; j < amount_of_objects; ++j) {
*(objects + (j * 4)) = j;
*(objects + (j * 4 + 1)) = x_start;
*(objects + (j * 4 + 2)) = y_start;
*(objects + (j * 4 + 3)) = z_start;
*(objects + (j * 4 + 4)) = x_vector;
*(objects + (j * 4 + 5)) = y_vector;
*(objects + (j * 4 + 6)) = z_vector;
}`
如何永久更新“凸起”?
答案 0 :(得分:2)
验证失败,尝试在您的控制台上打印验证错误:
borrower = Borrower.update(1, raised: 0)
puts borrower.errors
如果您想明确跳过验证,另一种解决方案可能是update_attribute
:
Borrower.find(1).update_attribute(:raised, 0)
如果您还想跳过回调并避免触及updated_at
,那么update_column
:
Borrower.find(1).update_column(:raised, 0)
如果raised
是一种布尔属性,您也可以选择toggle!
:
Borrower.find(1).toggle!(:raised)