標準、レイヤー、およびlayers_assocsの3つのモデルがあります。標準には、layer_assocs を介して多くのレイヤーがあり、残りは簡単です。Layers_assocsテーブルには、とブール値が格納されますが、layersテーブルは(および auto-increment )を使用した単なるルックアップ テーブルです。standards_id
layer_id
visible
name
id
:visible
標準オプション ページには、ネストされた属性を更新するチェック ボックスがあります。関連するレイヤー名をフォーム ラベルに表示する方法を探しています。現在、チェックボックスにこれがあります:
<%= f.fields_for :layers_assocs do |assoc| %>
<%= assoc.check_box :visible %>
<% end %>
関連付けられたレイヤー名をlayers_assocs belongs_to
レイヤーの関連付けでどのように表示するかは謎です。layer_id
これで表示できます
<%= assoc.text_field :layer_id %>
しかし、それをレイヤーを介して名前を表示するための整数として使用しようとすると、standard.layers[assoc.layer_id]
またはstandard.layers[:layer_id]
飛ぶことはありません。assoc
は FormBuilder オブジェクトなので、どうすればよいかわかりません。検査すると、標準のすべてを備えた巨大なオブジェクトがassoc
吐き出されます。
Rails APIをfields_for
チェックしましたが、この質問はうまくいきませんでした。またはは定義されていません:name
。:visible