6

E-posta adresinin kendisi ya da görünümü olsun, mailerdeki herhangi bir varlık boru hattını kullanmakta sorun yaşıyorum.Mailer içindeki varlıkları nasıl kullanabilirim?

Aşağıdakiler üretir ve boş src resim etiketi.

<%= image_tag "emails/header-general.png" %> 

boş resim etiketi şuna benzer:

img alt = "Başlık genel"

modeli yoluyla bir dosya ekleyebilir ve görünümde kullanmaktan aşağıdaki formu boş verdiği görüntüsü.

attachments.inline['header.jpg'] = 'emails/header-general.png' 
... 
<%= image_tag attachments['header.png'] %> 

Yolu kontrol ettim ve hatta birden fazla yolla denedim, ancak hiç şansı yok. Lütfen yardım edin. E-postadaki bir resmi eklemeye herhangi bir şekilde yardımcı olabilir.

İşte üretim env.

Xenium::Application.configure do 
# Settings specified here will take precedence over those in config/application.rb 

# Code is not reloaded between requests 
config.cache_classes = true 

# Full error reports are disabled and caching is turned on 
config.consider_all_requests_local  = false 
config.action_controller.perform_caching = true 

# Disable Rails's static asset server (Apache or nginx will already do this) 
config.serve_static_assets = false 

# Compress JavaScripts and CSS 
config.assets.compress = true 

# Choose the compressors to use 
config.assets.js_compressor = :yui 
config.assets.css_compressor = :yui 

# Don't fallback to assets pipeline if a precompiled asset is missed 
config.assets.compile = true 

# Generate digests for assets URLs 
config.assets.digest = true 

# Defaults to Rails.root.join("public/assets") 
# config.assets.manifest = YOUR_PATH 

# Specifies the header that your server uses for sending files 
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache 
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx 

# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. 
# config.force_ssl = true 

# See everything in the log (default is :info) 
config.log_level = :fatal 

# Use a different logger for distributed setups 
# config.logger = SyslogLogger.new 

# Use a different cache store in production 
config.cache_store = :mem_cache_store 

# Enable serving of images, stylesheets, and JavaScripts from an asset server 
#config.action_controller.asset_host = "http://asset.xenium.bg" 

# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) 
# config.assets.precompile += %w(search.js) 

# Disable delivery errors, bad email addresses will be ignored 
config.action_mailer.raise_delivery_errors = true 
#config.action_mailer.perform_deliveries = true 
config.action_mailer.delivery_method = :smtp 
config.action_mailer.smtp_settings = { 
:address    => "localhost", 
:port     => 25, 
:domain    => 'xenium.bg', 
#:user_name   => '<username>', 
#:password    => '<password>', 
#:authentication  => 'plain', 
:enable_starttls_auto => false 
} 

# Enable threaded mode 
# config.threadsafe! 

# Enable locale fallbacks for I18n (makes lookups for any locale fall back to 
# the I18n.default_locale when a translation can not be found) 
config.i18n.fallbacks = true 

# Send deprecation notices to registered listeners 
config.active_support.deprecation = :notify 
end 

Teşekkürler!

+0

Hata ayıklama ile ilgili bazı genel ipuçları da bu soruna ek olarak size fazladan bilgi verecektir. # 1. Aynı resmi eski bir görünümde görüntülerseniz, görüntülenir mi? Öyleyse, resim için oluşturulan URL nedir? # 2. Postacı sürümünde, src özniteliği gerçekten boş mu? Lütfen sorunuzda oluşturulan img etiketini ekleyin. 3.. Bunu düzeltmek için farklı yapılandırmalar denerken tarayıcı önbellekleme konusunda gerçekten dikkatli olun. Tarayıcınız sorununuzu düzelttikten sonra bile "boş" bir görüntü göstermeye devam edebilir. 4.. Ortam yapılandırma dosyanızı bu sorunun bir parçası olarak ekleyin. – cailinanne

+0

Merhaba, yorum için teşekkürler. Sorumu daha fazla şey eklemek için düzenledim. Önbellek tuhaflığı ya da başka bir şey yok. Sadece işe yaramaz gibi görünüyor – YavorIvanov

cevap

4

2.3.3 Making Inline Attachments bölümüne göre, sizin durumunuzda Yani

attachments.inline['image.jpg'] = File.read('/path/to/image.jpg') 

aşağıdaki gibi yapacak bir satır içi eki oluşturmak için, bu

attachments.inline['header.jpg'] = File.read("#{Rails.root}/app/assets/images/emails/header-general.png" 
1

seti config.action_controller.asset_host ve yapılandırma olmalıdır .action_mailer.asset_host ve bu iyi çalışıyor.

config.action_mailer.asset_host = URL from where pick image 
<%= image_tag image_path('logo.png') %> 
İlgili konular