[CB 4.0] Renderer.renderView

Hello. First time in this group so please excuse any errors in protocol.

We recently moved to CB 4.0.0 from 3.8.1 and I’m currently working on our first site in the new version. Today I found that emails were not being generated because the body was set as an empty string. It seems as though renderView is no longer working for us. After hours of research and reading, I found that I could use renderLayout instead with a layout file that was mostly empty except for #renderView()#. This seemed very odd to me, especially when I could find no mention of such a change to the Renderer other than it being moved from plugin to core part of the system.

Old that worked in 3.8.1, but returns empty string in 4.0.0:
emailObj.setBody(Renderer.renderView(“email/passwordReset”));

New that works in 4.0.0:
emailObj.setBody(Renderer.renderLayout(view=“email/emailConfirm”,layout=“email/none”))

Is something I’m doing wrong or a new (or known) issue with 4.0.0?

Thanks for any insights!

How are you getting the renderer object? If you put a dump/abort in your view can you confirm if it’s getting run?

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Thanks so much! Sorry for the delay in replying. Apparently I neglected to check “email updates to me”!

I get the renderer with what I thought was the correct 4.0 way in my model CFC:

I reverted to the renderView call and put a cfdump and cfabort in my view, which did produce the dump, so it is definitely getting called.