Вероятно, это один из самых запутанных вопросов, которые я читал, но здесь есть несколько вещей, которые могут помочь вам двигаться:
Во-первых, ваше условие if всегда будет иметь значение true, используйте двойное равенство (==), чтобы найти равенство.
if(@page.theme_set = 1) #this will always evaluate to true, use double equals (==) to find equality.
Далее, если вы пытаетесь визуализировать что-либо в представлении (частично), вы ничего не увидите, если не используете знак равенства в теге erb <% <strong>= %>
<%= structure << footer %>
Наконец, кажется, что вы пытаетесь сделать все это через одну и ту же локальную переменную и передаете ссылку на партиалы. Если это так, то достаточно использовать переменную экземпляра @ structure , и она будет доступна для контроллера, представлений и помощников, поэтому передача не требуется.