0

content_for does not work for me. I use Kemal and Slang. Here code:

layout.slang

== yield_content "js_css"

index.slang

- content_for "js_css" do
  javascript:
    window.allowDigits = function(evt) {
      alert("msa7");
    }

In output HTML I do not see alert("msa7"). What wrong with my code?

  • Look like issue here https://github.com/kemalcr/kemal/blob/master/src/kemal/helpers/macros.cr#L54. Found in debug `"__content_filename__ src/views/session/index.slang" "__caller_filename__ /app/src/controllers/session.cr"` – Sergey Makridenkov Jul 18 '18 at 08:05

1 Answers1

1

Found workaround by call content_for with file name, like this content_for "js_css", "src/views/session/index.slang". Now it works:

index.slang

- content_for "js_css", "src/views/session/index.slang" do
  javascript:
    window.allowDigits = function(evt) {
      alert("msa7");
    }
  • Kemal's `content_for` and `yield_content` don't work properly and they are likely going to be removed (see https://github.com/kemalcr/kemal/issues/467). They should be implemented by Kilt or slang. – Johannes Müller Jul 18 '18 at 10:11