使用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將參數傳遞給partials
- 2. Ruby on Rails:將參數傳遞給singleton
- 3. Ruby on Rails - 查詢傳遞參數
- 4. 在Ruby On Rails中將參數從視圖傳遞到控制器的問題
- 5. 將參數傳遞給作用域定義Ruby on Rails
- 6. 如何將jquery或javascript數據傳遞給Ruby on Rails模型?
- 7. Ruby on Rails - 傳遞哈希
- 8. 如何將參數從Controller傳遞到Ruby on Rails中的Model方法?
- 9. Ruby On Rails - 通過控制器將參數從前端傳遞到數據庫
- 10. 如何傳遞參數在Ruby on Rails的
- 11. Ruby on rails,將參數從一個動作傳遞到另一個動作
- 12. Ruby on Rails的:從其它控制器將參數傳遞到一個模型
- 13. 如何傳遞多個參數使行動Ruby on Rails的
- 14. 顯示傳遞的參數問題的帖子 - Ruby on Rails
- 15. Ruby on Rails在視圖間傳遞參數(並非全部正在傳輸)
- 16. 如何在Ruby on Rails中傳遞和接收URL中的參數?
- 17. 將json參數傳遞給rails api
- 18. 如何將javascript全局變量傳遞到requirejs,ruby on rails
- 19. 如何將unique_args從Ruby on Rails傳遞到SendGrid :: TemplateMailer API
- 20. Ruby on Rails - 如何將散列參數傳遞給部分視圖?
- 21. Ruby on Rails的傳遞鹽消化:: SHA512
- 22. 將變量傳遞給Ruby on Rails中的視圖
- 23. 如何在Ruby on Rails中將一個參數從一個視圖傳遞到另一個視圖,使用POST
- 24. 將參數傳遞給INSERT ..ON DUPLICATE UPDATE
- 25. Ruby on Rails 5 - 在兩個串行器之間傳遞數據
- 26. 如何將數據從控制器傳遞到具有Ruby on Rails的模型?
- 27. 在Ruby on Rails 2.3.x中發送參數到GET請求
- 28. 將current_user.id傳遞給actionmailer
- 29. 在Ruby on Rails中上傳文件
- 30. 最佳實踐 - 傳遞實例變量或在Ruby on Rails視圖中使用參數?
任何人都可以使用MailView? – nroose 2016-08-21 19:08:36