2013-11-11 2 views
0

В ActiveRecord и ActionController есть :: Base, прикрепленные к нему. Я задумался по этому поводу, но не смог найти объяснительного ответа. Мне любопытно узнать, как они работают.Что такое Base in Rails?

+0

Рядом с Github, вы посмотрите на [Rails API Docs] (http://api.rubyonrails.org/) в течение нескольких ':: классов Base' в нескольких модулей может. Они часто являются классами, которые привносят базовую функциональность Rails в модели, контроллеры и многое другое, когда они унаследованы. –

+0

Пожалуйста, примите один из ответов или уточните свой вопрос, если никто из них не ответил на то, что вы просили. – harald

ответ

1

Двойной двоеточие - это оператор области видимости, и в нем говорится, что мы хотим, чтобы класс Base находился в модуле ActionController.

module ActionController 
    class Base 
    # ... implementation 
    end 
end 

module ActiveRecord 
    class Base 
    # ... this is a different class than ActionController::Base 
    end 
end 

class MyController < ActionController::Base 
    # class that inherits from class Base in module ActionController 
end 

class MyModel < ActiveRecord::Base 
    # class that inherits from class Base in module ActiveRecord 
end