Я пытаюсь перенести свою базу данных в Ruby On Rails приложения, и я немного запутался о правильном синтаксисе показано ниже:Символы против переменных
class CreateCategories < ActiveRecord::Migration
def change
create_table :categories do |t|
t.string :name
t.string :thumburl
t.timestamps
end
end
end
(1) Почему символ :Migration
используется в области имен классов? Способ, которым я его читаю, заключается в создании класса CreateCategories
и наследует все атрибуты класса ActiveRecord
. Мне учили, что двойной двоеточие означает вызов метода класса, но синтаксическая раскраска заставляет меня думать, что компонент :Migration
на самом деле является символом. Что тут происходит?
(2) Я понимаю, что create_table
представляет собой метод, но почему использование :categories
, т.е. символ, вместо переменной класса или экземпляра, т.е. @@categories
или @categories
? Я полагаю, вы должны назвать таблицу, которая создается, но почему символ?
(3) Почему :name
и :thumburl
символы, а не переменные?