asset_host를 사용하지 않는 메일러의 image_tag
image_tag는 내가 설정 한 asset_host를 사용하지 않습니다. 이유는 무엇입니까? 내가 생각할 수있는 유일한 것은 그것이 메일러라는 것과 관련이 있다는 것입니다.
config / environment / development.rb
config.action_controller.asset_host = "http://localhost:3000"
myMailer.rb
<%= image_tag "logo.png", :style=>"margin-left:10px; padding-bottom:15px;" %>
다음과 같이 렌더링 :
<img alt="Logo" src="/images/logo.png?1303090162" style="margin-left:10px; padding-bottom:15px;" />
콘솔에서 :
> MyApp::Application.config.action_controller
#<OrderedHash {… :asset_host=>"http://localhost:3000", …}>
이메일에 표시되므로 전체 경로 URL을 만들려면 image_tag가 필요합니다.
나는 전에 틀렸다. 이것이 필요한 솔루션입니다 (asset_host 구성이 통합되는 rails 3.1까지) :
config.action_mailer.asset_host = "http://localhost:3000"
Rails 3.1과 3.2에서 config.action_controller.asset_host와 config.action_mailer.asset_host를 모두 지정해야합니다.
이메일 및 비 이메일보기 모두에서 image_tag에 호스트 이름을 추가하려면 환경 파일에 다음을 추가하십시오.
config.action_controller.asset_host = 'http://localhost:3000'
config.action_mailer.asset_host = config.action_controller.asset_host
여기서 'http : // localhost : 3000'은 호스트 URL (및 해당되는 경우 포트)로 대체되어야합니다.
Rails 3.2.x에서도 action_controller와 action_mailer 모두에 설정해야합니다.
왜 할 수 없는지에 대한 잘못된 코드는 다음과 같습니다.
# actionpack/lib/action_view/helpers/asset_paths.rb, line 27
def compute_public_path(source, dir, ext = nil, include_host = true)
# More code up here....
if controller && include_host
has_request = controller.respond_to?(:request)
source = rewrite_host_and_protocol(source, has_request)
end
end
다음은 GH의 문제가되는 파일입니다. https://github.com/rails/rails/blob/master/actionpack/lib/action_view/helpers/asset_paths.rb
ActionMailer View 템플릿에는 Controller가 없기 때문에 asset_host를 기반으로 다시 작성하라는 명령을받을 수 없습니다. 이것은 아마도 Rails 핵심 팀에 공개 된 티켓 일 것입니다.
다음 구성을 시도하고 도움이되는지 확인할 수 있습니다.
config.action_mailer.default_url_options = {:host=>"localhost", :port=>3000, :protocol=>"http://"}
그래도 효과가있을 것이라고 확신합니다 url_for
.
참조 URL : https://stackoverflow.com/questions/5739819/image-tag-in-mailer-not-using-asset-host
'program tip' 카테고리의 다른 글
클래스 1 또는 클래스 2가있는 요소 찾기 (0) | 2021.01.11 |
---|---|
en_US 또는 en-US 중 어느 것을 사용해야합니까? (0) | 2021.01.11 |
동시성 모델 : Erlang 대 Clojure (0) | 2021.01.11 |
닫히지 않은 div 태그를 찾는 방법 (0) | 2021.01.11 |
쉘 스크립트 변수가 비어 있지 않음 (-z 옵션) (0) | 2021.01.11 |