Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4,ActionMailer:动态配置_Ruby On Rails_Heroku_Actionmailer - Fatal编程技术网

Ruby on rails Rails 4,ActionMailer:动态配置

Ruby on rails Rails 4,ActionMailer:动态配置,ruby-on-rails,heroku,actionmailer,Ruby On Rails,Heroku,Actionmailer,对于希望在Rails 4应用程序中使用联系人表单的客户,我需要设置ActionMailer配置,但允许他从后台更改配置(地址、密码、smtp…),如activeadmin或简单的管理界面 我不知道从哪里开始访问environment.rb或production.rb文件来更改这些设置 或者,如果可以在另一个可以访问的文件中设置ActionMailer,并且可以设置动态变量?您可以使用rails设置 或 您可以创建一个配置表,并允许管理员保存其配置设置,如 rails g模型配置字段\u一:字符

对于希望在Rails 4应用程序中使用联系人表单的客户,我需要设置ActionMailer配置,但允许他从后台更改配置(地址、密码、smtp…),如activeadmin或简单的管理界面

我不知道从哪里开始访问environment.rb或production.rb文件来更改这些设置


或者,如果可以在另一个可以访问的文件中设置ActionMailer,并且可以设置动态变量?

您可以使用rails设置

您可以创建一个配置表,并允许管理员保存其配置设置,如

rails g模型配置字段\u一:字符串字段\u二:字符串字段\u三:字符串

之后,在development/production.rb中

您可以使用as Config.first.first\u字段、Config.first.last\u字段

并确保在更新列的值时,不创建新记录,只更新最后一条记录


谢谢你的回答,我喜欢你的第二种方法。但是,例如要替换:config.action\u mailer.smtp\u settings={地址:smtp.address,用户名:'myusername',密码:'mypassword'}。是不是太深了?或者我可以像rails g model Config address:string那样在Config.action\u mailer.smtp\u setting={address:Config.address…}中调用它,等等吗?您不能直接调用Config.address,或者您必须使类方法如def self.address last.address end现在您可以直接调用Config.address。谢谢,如果你觉得我的答案对你有帮助的话,就给我一个答案吧。它是有效的,但同时不要。我必须将actionmailer设置放在初始值设定项中,每次更改数据库中的设置时,我都需要重新启动服务器(因为初始值设定项)。我也尝试部署到heroku,但出现了很多错误。我在寻找其他的选择。你有什么建议吗?谢谢