如何更新Model属性的值

AKo*_*nov 4 database activerecord ruby-on-rails

我有一个数据库项目和两个项目.他们有一个名为"popular"的列,我将其设置为0.

class Item < ActiveRecord::Base
  attr_accessible .. :popularity, ..

  before_create :default_values
  def default_values
    if self.popularity.nil? == true || self.popularity.blank? == true || self.popularity.class != Integer
      self.popularity = 0
    end
  end
Run Code Online (Sandbox Code Playgroud)

如何通过code\console更改此值并保存?我试过了

  Item.find(1).popularity = 1
  Item.save
Run Code Online (Sandbox Code Playgroud)

但它没有保存我的val.怎么了?

abh*_*has 11

这是解决方案

item = Item.find(1)
item.popularity = 1
item.save
Run Code Online (Sandbox Code Playgroud)

  • 不,您的不一样,因为您正在运行类上的save,情况并非如此,因为您仅更改了它的一个实例。 (2认同)