標準、レイヤー、およびlayers_assocsの3つのモデルがあります。標準には、layer_assocs を介して多くのレイヤーがあり、残りは簡単です。Layers_assocsテーブルには、とブール値が格納されますが、layersテーブルは(および auto-increment )を使用した単なるルックアップ テーブルです。standards_idlayer_idvisiblenameid
: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