为什么这个before_save没有更新rails中的验证日期?

时间:2014-08-09 02:16:48

标签: ruby-on-rails ruby ruby-on-rails-3

我的before_save未更新verified_date字段 这是为什么?其他进程可以更新字段确定。

型号:

class Link < ActiveRecord::Base

  belongs_to :group
  validates_presence_of :url_address
  validates_presence_of :group_id
  validates_size_of :version_number, :maximum => 10 #, :allow_nil => true
  before_save :verify_this_link
  acts_as_list

  ...

  def verify_this_link
    verified_date = Time.now
  end 

end

mysql> describe links;
+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| id             | int(11)      | NO   | PRI | NULL    | auto_increment |
| url_address    | varchar(255) | NO   |     | NULL    |                |
| alt_text       | varchar(255) | YES  |     | NULL    |                |
| group_id       | int(11)      | YES  |     | NULL    |                |
| position       | int(11)      | YES  |     | NULL    |                |
| created_at     | datetime     | YES  |     | NULL    |                |
| updated_at     | datetime     | YES  |     | NULL    |                |
| version_number | varchar(255) | YES  |     | NULL    |                |
| content_date   | date         | YES  |     | NULL    |                |
| verified_date  | date         | YES  |     | NULL    |                |
+----------------+--------------+------+-----+---------+----------------+


mysql> select id, substr(url_address,1,20),
verified_date from links where id > 350;
+-----+--------------------------+---------------+
| id  | substr(url_address,1,20) | verified_date |
+-----+--------------------------+---------------+
| 351 | http://magicmodels.r     | NULL          |
| 352 | http://jsbin.com/#ja     | 2014-07-12    |
| 353 | http://www.javascrip     | 2014-07-12    |
| 354 | http://www.test.com      | 2014-08-08    |
| 357 | http://www.t5.com        | 2014-07-12    |
+-----+--------------------------+---------------+
5 rows in set (0.00 sec)

1 个答案:

答案 0 :(得分:2)

尝试:

  def verify_this_link
    self.verified_date = Time.now
  end 

参考https://stackoverflow.com/a/6326323/252671