Tôi đang cố gắng vô hiệu hóa thẻ đã chọn. Các tùy chọn để điền vào các thuộc tính không phải của cơ sở dữ liệu của chúng ta mà là một mảng các số nguyên, do đó collection_select dường như không hoạt động trong tình huống này.đường ray - tắt thẻ chọn
kỹ thuật 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
Trên đây không phải là những gì tôi muốn. Nó vô hiệu hóa các tùy chọn không phải là thẻ chọn.
kỹ thuật 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
ở trên không hoạt động. Không có tùy chọn nào bị tắt.
Mặc dù giá trị chính xác hiển thị trong menu thả xuống trong cả hai trường hợp, thẻ chọn không bị vô hiệu hóa và lưu ý rằng trong ví dụ này, tôi vừa đặt thành tắt, nhưng tất nhiên tôi sẽ vô hiệu hóa các thẻ đã chọn.