我有以下生成表单的行。调用时,控制器在某些情况下将@disabled设置为true,而在其他情况下设置为false。
= simple_form_for [:applicant, @application ],defaults: { disabled: @disabled }, url: wizard_path, method: :put do |f|
在某些页面上,我有一个使用布尔选项的select语句。
= f.input :accommodation, as: :select, collection: yes_no
将以下辅助函数称为集合
def yes_no
[
['Yes', true ],
['No', false ]
]
end
当@disabled设置为false,并且simple_form将呈现false选项时,它似乎禁用它。我不确定如何绕过这个布尔斗争以在下拉列表中生成true和false选项,同时还允许@disabled禁用整个表单(如果适用)
答案 0 :(得分:0)
SimpleForm和Rails之间的已知问题:https://github.com/plataformatec/simple_form/issues/1257
目前,tonywok的答案似乎是一个有效的解决方法:https://github.com/plataformatec/simple_form/issues/1257#issuecomment-119226834更改
= simple_form_for [:applicant, @application ],defaults: { disabled: @disabled }, url: wizard_path, method: :put do |f|
到
= simple_form_for [:applicant, @application ],defaults: { disabled: @disabled, readonly: nil }, url: wizard_path, method: :put do |f|