У меня есть 3 модели - стандартов, слоев и layers_assocs. Стандарты имеют много слоев через layer_assocs, а остальные тривиальны. layers_assocs таблицы хранит standards_id
, layer_id
и visible
булева, а слоев таблицы просто посмотреть таблицу с name
(и автоприращением id
).Fields_for с вложенным атрибутом, has_many через ассоциацию
На странице параметров стандартов у меня есть флажок, который обновляет вложенный атрибут :visible
. Я ищу способ показать имя связанного слоя в метке формы. В настоящее время у меня есть это для флажка:
<%= f.fields_for :layers_assocs do |assoc| %>
<%= assoc.check_box :visible %>
<% end %>
Как бы отобразить имя, связанное слой с layers_assocsbelongs_to
слоев ассоциация является тайной. Я могу показать layer_id
с этим
<%= assoc.text_field :layer_id %>
Но пытаться использовать это как целое число для отображения имени через слои, как standard.layers[assoc.layer_id]
или standard.layers[:layer_id]
не летает. assoc
- объект FormBuilder, поэтому я не уверен, что делать. Осмотр assoc
выплескивает огромный объект со всем в стандарте.
Я проверил rails api on fields_for
и this question, не повезло. Либо :name
, либо :visible
не определено.