在表单上设置Default:Disabled时,会禁用某些布尔选项吗?

时间:2015-07-10 21:41:53

标签: ruby-on-rails ruby simple-form

我有以下生成表单的行。调用时,控制器在某些情况下将@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禁用整个表单(如果适用)

1 个答案:

答案 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|