ruby 应用模型,document.rb

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 应用模型,document.rb相关的知识,希望对你有一定的参考价值。

class CreateDocuments < ActiveRecord::Migration
  def change
    create_table :documents do |t|
      t.integer :parent_id
      t.string  :file
      t.timestamps
    end
  end
end
    # Recursion will generate array of parents parents
    d = Document.last
    d.ancestors.collect(&:id)
    # => [570, 569, 568] 
class Document < ActiveRecord::Base

  belongs_to :parent, class_name: 'Document'

  def self.get_ancestors(who)
    @tree ||= []
    # @tree is instance variable of Document class object not document instance object
    # so: Document.get_instance_variable('@tree')

    if who.parent.nil?
      return @tree
    else
      @tree << who.parent
      get_ancestors(who.parent)
    end
  end

  def ancestors
    @ancestors ||= Document.get_ancestors(self)
  end

end

以上是关于ruby 应用模型,document.rb的主要内容,如果未能解决你的问题,请参考以下文章

ruby 应用程序/模型/ kid.rb

ruby 应用程序/模型/ parent.rb

Ruby on Rails:用户模型关联应用程序和迁移

Ruby on Rails Tutorial 第二章

ruby 如何在使用引擎的应用程序中添加或覆盖引擎控制器或模型中的方法。

在 Ruby on Rails 应用程序中存储数据流行度