5
選択タグを無効にしようとしています。オプションではなく、データベースの属性ではなく、整数の配列を埋めるため、collection_selectはこのような状況では動作しません。rails - 選択タグを無効にする
技術1:
select_tag(:zev_qty, options_for_select(display_quantity(@order_subject_supplies_request.site), {:disabled => display_quantity(@order_subject_supplies_request.site)}))
def display_quantity(site)
if site
site.open_site? ? [[0,0],[1,1],[2,2]] : [[0,0],[1,1]]
else
[]
end
end
上記の私が欲しいものではありません。これは、selectタグではないオプションを無効にします。
技術2:
f.select(:zev_qty, display_quantity(@order_subject_supplies_request.site), {:disabled => true})
def display_quantity(site)
if site
site.open_site? ? [0,1,2] : [0,1]
else
[]
end
end
上記動作しません。どのオプションも無効になっていません。
どちらの場合でも正しい値がドロップダウンに表示されますが、selectタグは無効ではありません。この例では、disabledをtrueに設定していますが、もちろんselectタグを条件付きで無効にします。