<p></p>
<p dir="auto">ElementsApiController seems like a good way to maximize code reuse. However, I find things like  <code class="notranslate">current_model = controller_name.classify.constantize</code> and <code class="notranslate">old_model = "Old#{controller_name.classify}".constantize</code> too difficult to read for a low skilled dev. Given that it would only save us a few lines of code, it feels a bit over-engineered to me.</p>
<p dir="auto">I wouldn't mind to see a bit more code duplication here, for the sake of better code readability.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3715#issuecomment-1257196446">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLLUOJORTNVV3GBM7DDWABIXPANCNFSM6AAAAAAQUBL4IE">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLLXHY2GSKPNK63R6VDWABIXPA5CNFSM6AAAAAAQUBL4IGWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSK55FZ4.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/pull/3715/c1257196446</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/pull/3715#issuecomment-1257196446",
"url": "https://github.com/openstreetmap/openstreetmap-website/pull/3715#issuecomment-1257196446",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>