使用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