<img style="border: none; background:none; width: 0; height: 0;" src="https://share.polymail.io/v2/z/a/NWE4NDI1NGJjZTIw/h1IdIWAtPg1TwSfRTKVpwwGou3FoE1--78cUkqJeOiM427PgYlskRLKGBTnbY08tDpQCNH3_VswmAM5d9Ff2sEPHrshJ6Nbq5U1Wmd8FFXxN_ivVAGCnWaGZCQwF4IXcq6RWXFVdlkYgWTqx7f8=.png" alt="" width="0px" height="0px" border="0" /><div> </div>
<div>
I don’t know of a gem - it’s a recurring problem, and a fiddly one since the concept of state is different from standard Rails CRUD. </div><div><br></div><div>We’ve used an approach of storing a hash of answers in the session: <a href="https://github.com/LBHackney-IT/maintain-my-home/blob/develop/app/models/selected_answer_store.rb">https://github.com/LBHackney-IT/maintain-my-home/blob/develop/app/models/selected_answer_store.rb</a>, and elsewhere configuring the branching structure of a set of similar multiple-choice questions in YAML: <a href="https://github.com/LBHackney-IT/maintain-my-home/blob/develop/app/models/question_set.rb">https://github.com/LBHackney-IT/maintain-my-home/blob/develop/app/models/question_set.rb</a></div><div><br></div><div>This approach was borrowed from some gov.uk site (I forget which but you can find it in the commit history). Iirc that project additionaly had an object responsible for deciding what the next question should be, based on the previous answers. </div><div><br></div><div>Good luck!<br><br>
</div>
<div id="psignature"><div>Duncan Stuart</div></div>
<div class="gmail_extra"><br/><div class="gmail_quote"><div dir="ltr">On Wed, 14 Feb 2018 at 09:17 Stuart Harrison <pezholio> <<a href="mailto:Stuart Harrison <pezholio@gmail.com>">Stuart Harrison <pezholio> </pezholio></a>> wrote:<br/></pezholio></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><style><![CDATA[a, pre, code, a:link, body { word-wrap: break-word !important; }]]></style><style><![CDATA[body{font-family:Helvetica,Arial;font-size:13px}]]></style>

<div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Hey LRUG</div>
<div class="bloop_sign" id="bloop_sign_1518599819691031040">
<div id="bloop_customfont" style="margin:0px"><br/></div>
<div id="bloop_customfont" style="margin:0px">I’m about to embark on a project which has a couple of multi page branched forms, and, as it’s a common problem, I’m wondering if something exists that allows me to design a form either via a DSL or YAML, rather than having to reinvent the wheel each time. I used <a href="https://github.com/NUBIC/surveyor">Surveyor</a> a few years ago, which kinda worked for me, but it did cause some pretty major headaches too, and now seems to be largely abandoned. I like the look of <a href="https://github.com/schneems/wicked">Wicked</a>, which gets me part of the way there, but I don’t get that DSL-y way of designing the form and not having to worry about building the individual form parts in a view. Is there anything out there that supports this? Or are there any patterns that anyone else uses that would help this?</div>
<div id="bloop_customfont" style="margin:0px"><br/></div>
<div id="bloop_customfont" style="margin:0px">Hope this makes sense</div>
<div id="bloop_customfont" style="margin:0px"><br/></div>
<div id="bloop_customfont" style="margin:0px">Cheers</div>
<div id="bloop_customfont" style="margin:0px"><br/></div>
<div id="bloop_customfont" style="margin:0px">Stu</div>
<div><br/></div>
</div>

</blockquote></div><br/></div>