Después de buscar y probar muchas veces, finalmente encontré una solución. Ésta se ve relacionada con cualquiera de estas dos opciones; creo que depende de la versión: controller.request.xhr o controller.request.format.<formato>.
En estos momentos me encuentro utilizando la versión 5 y esta fue mi solución para indicar que toda petición JSON no tenga layout y todas las demás sí.
En el ApplicationController no hago uso de la función set_layout y por el contrario uso un Proc así:
Proc.new {|controller| controller.request.format.json? ? false : "application"}
Para Uriel, quisiera pedirte el favor de que me ayudaras explicándome por qué usan la instrucción |controller|. Estoy aprendiendo y bueno, para mi esta instrucción es como un forEach de JavaScript, por eso entiendo que se itera, lo que me parece inecesario porque es sólo UNA petición. ¿Me harías el gran favor de orientame?
Gracias!