<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="163760" data-post-id="163760">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="JEG2" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/JEG2/120/936_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  JEG2
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Designing Elixir Systems with OTP</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks so much for the kind words!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="163760" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/54">Post #53</a>
	                </div>
	            </div>
              <div id="likers-container-163760" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="163760"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #53"></div>
  </section>
</div>
    <div class="postbit" id="164262" data-post-id="164262">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="outluch" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/outluch/120/17126_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  outluch
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>hi. thanks for book.<br>
i want to tell about some inconsistence. on page 160 you say that poolboy is just another elixir dependency and we just need to configure it in our application.ex. but earlier you have shown that classical elixir dependency is usually an otp app and it even doesnt need to be added in the application.ex. it is weird a bit. as i know, poolboy is erlang library and we use it in the elixir app and that is why we need to start it manually. am i right?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="164262" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/55">Post #54</a>
	                </div>
	            </div>
              <div id="likers-container-164262" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="164262"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #54"></div>
  </section>
</div>
    <div class="postbit" id="164289" data-post-id="164289">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="JEG2" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/JEG2/120/936_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  JEG2
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Designing Elixir Systems with OTP</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>There are different strategies you can use to allow users of your projects to interact with your code.  Chris Keathly has a nice breakdown of the choices in <a href="https://keathley.io/blog/reusable-libraries.html" rel="noopener nofollow ugc">this blog post</a>.</p>
<p>One strategy is, as you said, to just build your own application that’s started by the OTP (“OTP applications” in Chris’s post).  Sometimes though, it’s better to allow other applications to start some of your processes in their application tree.  This gives the calling code a lot of choices about what exactly gets started and how your code will interact with those pieces.</p>
<p>Poolboy uses the latter strategy (called “Providing a Supervision Tree” in Chris’s post).  This allows you to configure how many worker processes are started and point them at your modules that you want to run.</p>
<p>Hope that helps!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="164289" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/56">Post #55</a>
	                </div>
	            </div>
              <div id="likers-container-164289" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="164289"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #55"></div>
  </section>
</div>
    <div class="postbit" id="167961" data-post-id="167961">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="NicoGim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/NicoGim/120/18636_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  NicoGim
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi!</p>
<p>I am following the book right now very seriously, writing every piece of code suggested and trying to understand as much as I can everything that’s going on.</p>
<p>Thank you for this work, it is an awesome book to learn about… how to actually shape programs. Basic syntax tutorials are great, LYSEFGG as well, but then when you start you first project without guidance, it can still be quite rough. This book fills this gap quite nicely.</p>
<p>I’ve got a little issue though with the code presented in the part that refers to the tests.<br>
It is suggested to write <a href="https://github.com/NicoGim/elixir-learn/blob/master/test/test/response_test.exs" rel="noopener nofollow ugc">this file</a>. (Let me know if you want me to get it down from GitHub later).</p>
<p>When trying to run it with “mix test” I got:</p>
<blockquote>
<p>warning: variable “right” does not exist and is being expanded to “right()”, please use parentheses to remove the ambiguity or change the variable name<br>
nofile:1</p>
<ol>
<li>test a right response and a wrong response building responses checks answers (ResponseTest)<br>
test/test/response_test.exs:8<br>
** (CompileError) nofile:1: undefined function right/0</li>
</ol>
</blockquote>
<p>So this “test” syntax for getting access to the new field in the context map does not work, right?<br>
I need to use something like:</p>
<blockquote>
<p>test “description”, context</p>
</blockquote>
<p>And then access <code>context</code> fields directly? I tried, indeed, without success.</p>
<p>If that’s true then I think the book needs to be updated. The downloaded source code that goes together with the book contain different versions of the code, without this fixture.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="167961" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/57">Post #56</a>
	                </div>
	            </div>
              <div id="likers-container-167961" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="167961"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #56"></div>
  </section>
</div>
    <div class="postbit" id="168023" data-post-id="168023">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="srowley" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/srowley/120/28720_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  srowley
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>There’s nothing wrong with the file linked here; it is upstream. This file is using the <code>QuizBuilders</code> module to build up the fixtures used, and there is a typo in that module file in the function <code>template_fields/1</code>:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir"> 11   def template_fields(overrides \\ []) do
 12     Keyword.merge(
 13       [
 14         name: :single_digit_addition,
 15         category: :addition,
 16         instructions: "Add the numbers",
 17         raw: "&lt;%= @left %&gt; + &lt;%= right%&gt;", #&lt;---This should be @right, not right
 18         generators: addition_generators(single_digits()),
 19         checker: &amp;addition_checker/2
 20       ],
 21       overrides
 22     )
 23   end
</code></pre>
<p>So the issue is not the pattern match on “<code>right</code>” (as in not wrong) in this test, it’s that when that little template is compiled, it thinks “<code>right</code>” (as in not left) is a function instead of an assign.</p>
<p>A tangent -</p>
<p>I read the first few chapters of this book and really enjoyed it. In particular the section on how important it is to pick the right data structures really improved how I approach any new project. I had not yet read the testing chapter, which I just skimmed as part of looking at your problem. I really didn’t like all of the fixture setup. Being able to write something like <code>assert right.correct</code> seems elegant on its face, but I had to trace that statement several levels up the call stack just to figure out what function was actually being tested. The whole set of tests would have been more readable (to me) if the setup was in a setup block at the top of the page (so I could see how the assigns were getting built step by step without tracing through a bunch of supporting functions), and the test actually called the function being tested so I could see what it was and what arguments were passed to it. This would mean some code duplication, but less magic, and that tradeoff would have been worth it to me as a reader of the code.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="168023" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/59">Post #58</a>
	                </div>
	            </div>
              <div id="likers-container-168023" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="168023"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #58"></div>
  </section>
</div>
    <div class="postbit" id="168024" data-post-id="168024">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="JEG2" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/JEG2/120/936_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  JEG2
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Designing Elixir Systems with OTP</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group quote-modified" data-username="NicoGim" data-post="57" data-topic="21626">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nicogim/48/18636_2.png" class="avatar"> NicoGim:</div>
<blockquote>
<p>When trying to run it with “mix test” I got:</p>
<blockquote>
<p>warning: variable “right” does not exist and is being expanded to “right()”, please use parentheses to remove the ambiguity or change the variable name<br>
nofile:1</p>
<ol>
<li>test a right response and a wrong response building responses checks answers (ResponseTest)<br>
test/test/response_test.exs:8<br>
2.* (CompileError) nofile:1: undefined function right/0</li>
</ol>
</blockquote>
</blockquote>
</aside>
<p>That error isn’t actually referring to your test syntax. It’s a problem with this line:</p>
<p><a href="https://github.com/NicoGim/elixir-learn/blob/master/test/support/quiz_builders.exs#L17" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/NicoGim/elixir-learn/blob/master/test/support/quiz_builders.exs#L17</a></p>
<p>The <code>right</code> in that template should be <code>@right</code>.</p>
<p>Hope that helps!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="168024" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/60">Post #59</a>
	                </div>
	            </div>
              <div id="likers-container-168024" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="168024"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #59"></div>
  </section>
</div>
    <div class="postbit" id="168025" data-post-id="168025">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="JEG2" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/JEG2/120/936_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  JEG2
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Designing Elixir Systems with OTP</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for the kind words!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="168025" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/61">Post #60</a>
	                </div>
	            </div>
              <div id="likers-container-168025" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="168025"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #60"></div>
  </section>
</div>
    <div class="postbit" id="168027" data-post-id="168027">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="JEG2" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/JEG2/120/936_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  JEG2
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Designing Elixir Systems with OTP</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="srowley" data-post="59" data-topic="21626">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/srowley/48/28720_2.png" class="avatar"> srowley:</div>
<blockquote>
<p>I had not yet read the testing chapter, which I just skimmed as part of looking at your problem. I really didn’t like all of the fixture setup. Being able to write something like <code>assert right.correct</code> seems elegant on its face, but I had to trace that statement several levels up the call stack just to figure out what function was actually being tested. The whole set of tests would have been more readable (to me) if the setup was in a setup block at the top of the page (so I could see how the assigns were getting built step by step without tracing through a bunch of supporting functions), and the test actually called the function being tested so I could see what it was and what arguments were passed to it. This would mean some code duplication, but less magic, and that tradeoff would have been worth it to me as a reader of the code.</p>
</blockquote>
</aside>
<p>This is a fair critique.  Our reasoning was that we were testing a pretty complex system in the book and we wanted to use some abstraction to ease the burden of keeping it all in your head at once.  But I totally hear you that we could have over done it in some areas.  I’m sure we did.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="168027" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/62">Post #61</a>
	                </div>
	            </div>
              <div id="likers-container-168027" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="168027"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #61"></div>
  </section>
</div>
    <div class="postbit" id="168040" data-post-id="168040">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="NicoGim" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/NicoGim/120/18636_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  NicoGim
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for the help! <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"><br>
Guess I still gotta improve my Elixir debugging skills.<br>
Btw, I fixed all the small errors and typos and now it is passing all the test. For anyone in trouble going through the book, feel free to check out the GitHub repo.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="168040" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/63">Post #62</a>
	                </div>
	            </div>
              <div id="likers-container-168040" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="168040"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #62"></div>
  </section>
</div>
    <div class="postbit" id="178963" data-post-id="178963">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jmurphyweb" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jmurphyweb
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m currently reading Elixir In Action (chap 11) and have found it a beautiful introduction to OTP. (thanks <a class="mention" href="/u/sasajuric" rel="nofollow">@sasajuric</a> <img src="https://forum.elixirforum.com/images/emoji/apple/pray.png?v=15" title=":pray:" class="emoji" alt=":pray:" loading="lazy" width="20" height="20">)</p>
<p>Having flicked through some pages of Designing Elixir Systems with OTP, and it seems there are some similarities (building own genserver etc).</p>
<p>Whilst I’m certain Designing Elixir Systems with OTP would be a fantastic read regardless, I just wanted to get peoples thoughts on whether it is a good choice as a follow up for EIA?</p>
<p>Also, is there a 2020 Elixir Forum discount for PragProg books?</p>
<p>Very much looking forward to this!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="178963" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/designing-elixir-systems-with-otp-pragprog/21626/64">Post #63</a>
	                </div>
	            </div>
              <div id="likers-container-178963" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="178963"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #63"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/21626/load_more?page=7">Load more posts (7 remaining)</a>
</div></template></turbo-stream>