Для клиента, который хочет получить контактную форму в своем Rails 4, мне нужно настроить конфигурацию ActionMailer, но разрешить ему изменять конфигурацию (адрес, пароль, smtp ...) из backoffice, например activeadmin или простой интерфейс администратора.Rails 4, ActionMailer: dynamic config
Я не знаю, с чего начать с доступа к файлу environment.rb или production.rb, чтобы изменить эти параметры.
Или если возможно создать ActionMailer в другом файле, который будет доступен и с возможностью настройки динамических переменных?
Спасибо за ваш ответ, мне нравится ваш второй подход. Но, например, для замены: config.action_mailer.smtp_settings = {адрес: smtp.address, имя_пользователя: 'myusername', пароль: 'mypassword'}. Разве это не слишком глубоко? Или я могу сделать что-то вроде rails g model Config address: string и вызвать его внутри config.action_mailer.smtp_setting = {адрес: Config.address ...} и так далее? – Dl33ter
вы не можете напрямую называть Config.address, либо вы должны сделать методы класса, такие как def self.address last.address end Теперь вы можете напрямую вызвать Config.address. Спасибо, если вы найдете мой ответ полезным для вас, просто дайте upvote –
Он работает и не работает в одно и то же время. Мне пришлось установить параметр actionmailer в инициализаторы, и каждый раз, когда я меняю настройки, которые находятся в БД, мне нужно перезапустить сервер (из-за инициализатора). Я также попытался развернуть герою, но по многим ошибкам. Я ищу другие варианты. Если у вас есть какие-либо предложения? благодаря – Dl33ter