deprecate的用法

ActiveSupport提供了这样一个方法:你可以把你将来需要废弃使用的方法告诉它,当你执行了这些方法时,它便会在log中给出相应的警告信息。这样,你就可以不用将这些废弃的方法删掉,同时,你的其他同事也会知道,这些方法是被标记为将来某个版本可能会被删除。

 

下面,举一个例子。

 

class User < ActiveRecord::Base
  def permitted?(role)
    roles.include?(role)
  end

  deprecate :permitted?
end

 

现在我们来调用permitted?方法:

 

User.new.permitted?('ADMIN')  # => false

 

此时,在log中便会看到以下这句:

 

DEPRECATION WARNING: permitted? is deprecated and will be removed from Rails 2.3. (called from index at E:/NetBeansProjects/Demo/app/controllers/users_controller.rb:4)

 

如果将model中的deprecate :permitted?注释,则log中便不会有该提示信息。

你可能感兴趣的:(ActiveRecord,Rails)