使用MailView gem或Rails 4.1邮件预览将参数传递到MailView时可能吗?我希望能够在预览URL中使用查询字符串参数,并在MailView中访问它们以动态选择要在预览中显示的记录。在Ruby on Rails中将参数传递到MailView或ActionMailer :: Preview
回答
我偶然发现了同样的问题,据我所知,通过阅读Rails代码,无法从邮件预览中访问请求参数。
关键的是在Rails::PreviewsController
line 22(电子邮件是邮件法的名称)
@email = @preview.call(email)
我也试图访问预览电子邮件上的参数值。你不明白你的答案。你能解释@Michal – vinothini 2015-06-11 06:09:38
@vinothini从电子邮件预览中不可能访问参数。 – 2015-06-11 07:38:33
如果我的PR获得批准,您将可以执行此操作https://github.com/rails/rails/pull/20608 – equivalent8 2015-06-17 17:57:10
仍然是一个相关的问题,仍然很少有解决方案的网络(尤其是那些优雅)上找到。今天我通过这个黑客攻击并提出了这个解决方案,并提出了这个解决方案blog post on extending ActionMailer。
# config/initializers/mailer_injection.rb
# This allows `request` to be accessed from ActionMailer Previews
# And @request to be accessed from rendered view templates
# Easy to inject any other variables like current_user here as well
module MailerInjection
def inject(hash)
hash.keys.each do |key|
define_method key.to_sym do
eval " @#{key} = hash[key] "
end
end
end
end
class ActionMailer::Preview
extend MailerInjection
end
class ActionMailer::Base
extend MailerInjection
end
class ActionController::Base
before_filter :inject_request
def inject_request
ActionMailer::Preview.inject({ request: request })
ActionMailer::Base.inject({ request: request })
end
end
- 1. Ruby on Rails在URL中传递参数
- 2. Ruby on Rails:将参数传递给singleton
- 3. Ruby on Rails将参数传递给partials
- 4. Ruby on Rails 3,传递参数?
- 5. Ruby on Rails - 查询传递参数
- 6. Ruby on Rails - 将链接作为参数传递给link_to_remote Rails 2
- 7. amazon ses ActionMailer ruby on rails debug
- 8. 在Ruby On Rails中将参数从视图传递到控制器的问题
- 9. 如何在链接中传递参数 - ruby on rails
- 10. 在Ruby on Rails路由中传递url作为参数
- 11. 将参数传递给作用域定义Ruby on Rails
- 12. 如何将jquery或javascript数据传递给Ruby on Rails模型?
- 13. Ruby on Rails - 传递哈希
- 14. Ruby on Rails的3:如何将参数传递到窗体中选择框?
- 15. 如何将参数从Controller传递到Ruby on Rails中的Model方法?
- 16. Ruby on Rails - 将值传递给link_to
- 17. Ruby on Rails:将值传递给模型
- 18. 如何将URL参数传递给Ruby on Rails中的根[在routes.rb中]
- 19. Ruby On Rails - 通过控制器将参数从前端传递到数据库
- 20. 如何传递参数在Ruby on Rails的
- 21. Ruby on Rails的:从其它控制器将参数传递到一个模型
- 22. Ruby on rails,将参数从一个动作传递到另一个动作
- 23. Ruby on Rails将参考传递给yield(模板)
- 24. ActionMailer自动电子邮件。 Ruby on Rails
- 25. Ruby on Rails的的ActionMailer SMTP设置
- 26. Ruby和Rails或Ruby on Rails
- 27. 如何传递多个参数使行动Ruby on Rails的
- 28. 我怎样才能通过ruby on rails从file.haml传递参数?
- 29. 显示传递的参数问题的帖子 - Ruby on Rails
- 30. Ruby on Rails,参数如何传递给控制器?
任何人都可以使用MailView? – nroose 2016-08-21 19:08:36