Я работаю через «Учиться Ruby On Rails» Даниэль Кехо, и я пришел на этот кусок кода:Rails.application - Вопросы по рельсам Внутренние
В конфигурации/среда/development.rb:
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: Rails.application.secrets.domain_name,
authentication: "plain",
enable_starttls_auto: true,
user_name: Rails.application.secrets.email_provider_username,
password: Rails.application.secrets.email_provider_password
}
# ActionMailer Config
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.raise_delivery_errors = true
# Send email in development mode?
config.action_mailer.perform_deliveries = true
Это заставило меня подумать о двух вопросах.
- В конфигурации/secrets.yml, мы определили переменные среды для использования конфиденциальных данных. Например,
email_provider_username: <%= ENV["GMAIL_USERNAME"]
. Почему бы просто не использовать ERB в файле конфигурации config/environment/development.rb? Единственная причина, по которой я могу думать, заключается в том, что development.rb не запускается через препроцессор ERB. Это так? Просто пытаюсь понять конструктивное решение здесь. - Я предполагаю, что, поскольку мы используем точечную нотацию,
Rails
- это объект. Может кто-нибудь объяснить мне, как это работает? Является ли это «вершиной» моего приложения для рельсов?