Benim mailer bir inline eki olan raylar 3.1 üzerinde var.asset_url raylar üzerinde mailer 3.1
attachments["rails.png"] = File.read("#{Rails.root}/app/assets/images/Rails.png")
assets_url
gibi bir şey ile değiştirmek için bir yol yoktur:
Benim mailer bir inline eki olan raylar 3.1 üzerinde var.asset_url raylar üzerinde mailer 3.1
attachments["rails.png"] = File.read("#{Rails.root}/app/assets/images/Rails.png")
assets_url
gibi bir şey ile değiştirmek için bir yol yoktur:
Doğru bir şekilde anlarsam, belirli bir öğenin yerel yolunu bulmak için varlık boru hattının arama işlevini kullanmak istersiniz. Böylece, bu dizinin bulunduğu dizini kodlamak zorunda kalmazsınız. bunu yapmak:
<YourAppName>::Application.assets.find_asset('Rails.png').pathname
Bu dişliler arama/standart boru hattı kullanılarak varlık bulun ve size dosyasının tam yerel yolu verecektir.
Siz efendim ... sadece günümü kurtarın ... teşekkürler –
merhaba, bu bana yol verir 'app/assets/...' ancak gerçek varlık yolunu 'public/assets' içinde vermez. Bunu bilmek güzel olsa da, üretim ortamında bile istediğim dizini vermez. notlarıma eklediğimi biliyorum. – FireDragon
Bunun için asset_url gibi bir şey kullanmak için (ya da istemez) gerek yok ... Sadece ilk birkaç kelimeyi kurtaracaktı. Ayrıca, daha kısa versiyon: 'File.read (Rails.root.join ('app/assets/images', 'Rails.png'))' 'kendi 'asset_url' -like yardımcınızı kendiniz yapabilirsiniz. –
ama varlıklarmı bir dış js dosyası gibi satıcı varlıkları dosyasına veya e-postaya eklenmesini istediğim harici bir görüntüye koyabilirim –
'File.read (Rails.root) gibi bir şey yapabilir misiniz? katıl ('public', view_context.asset_path ('Rails.png'))) '? Derlenmiş varlıklar her zaman kamusal/varlıklar olarak çalışmalıdır. Bu 'view_context' gerekli olmayabilir (veya ActionMailer'de mevcut olmayabilir :() ama bir deneyelim! –