这与其他问题非常相似。我知道如何使用HTML / Javascript,但我的问题特定于Formtastic。
(这是几乎完全相同的问题的链接,除了我需要的是弄清楚如何让Formtastic发出类似于此处示例的HTML:Show/hide div if "other" radio OR checkbox is checked)
通常你会有一个单选按钮列表:
嗯,这一切都很好,花花公子,Formtastic轻松处理它。但是当我想要这个时会发生什么:
在我点击“其他”之前,文字输入应该是灰色的。如果我选择“其他”,我需要用户输入它的内容。 (同样的论点也适用于复选框。)
我意识到交互性是Javascript,而不是Formtastic的工作。我所说的是实际的标记。
有没有办法让Formtastic发出这个?
答案 0 :(得分:0)
Formtastic没有任何开箱即用的功能,主要是因为我不知道在发布表单数据时params的外观应该是什么样的模式。如果没有一个惯例和对模型结束的良好支持,我们感觉我们只能烘焙一些可能对某些人有用的东西。
好消息是,您可以使用自定义输入半自动解决自己的解决方案。而不是:as => :select
做:as => :select_with_other
,然后开始在SelectWithOtherInput
中建立自己的app/inputs/select_with_other_input.rb
:
class SelectWithOtherInput < Formtastic::Inputs::SelectInput
end
您想要查看SelectInput的源代码及其包含的模块,以了解您需要覆盖的内容以获得您想要的内容,但这是唯一的方法在这个时候做。
如果你可以为此建立一个好的模式,我很乐意看一个补丁。