Лично я бы не использовал send в этом случае. Когда доступно, предпочитайте public_send для отправки
Ответ 2
Вы можете использовать либо [], либо read_attribute(), но они не эквивалентны.
Более безопасный метод доступа использует метод [], потому что он вызывает ошибку ActiveModel::MissingAttributeError, если атрибут не существует. метод read_attribute возвращает nil, если атрибут не существует.