У меня есть эта строка кода Ruby, сгенерированного rails:
class PostsController < ApplicationController
Что означает <?
<
Использование < означает наследование . По сути, это означает, что у PostsController будет все, что есть у ApplicationController, кроме частных членов . Однако вы можете переопределить методы в подклассе, чтобы изменить поведение методов, унаследованных от суперкласса.
PostsController
ApplicationController
< используется для Наследование . В Ruby класс может наследовать только от одного другого класса.
Класс PostsController
в приведенной выше строке кода PostsController (дочерний класс) наследуется от ApplicationController родительского класса.
В рельсах:
Action Controllers является ядром веб-запроса в Rails. По умолчанию только ApplicationController в приложении Rails наследуется от ActionController::Base. Все остальные контроллеры наследуются от ApplicationController. Это дает вам один класс для настройки таких вещей, как защита от подделки запросов и фильтрация конфиденциальных параметров запросов.
Action Controllers
ActionController::Base
для получения дополнительной информации:
Вы говорите: «Объявите новый класс с именем PostsController и наследуйте поведение от ApplicationsController для использования в PostsController ».
В основном <используется для наследования </p>
Подробнее здесь
Это означает, что определение PostsController начинается с наличия всего в ApplicationController. в то время как остальные определения добавят / заменит элементы / атрибуты к PostsController.