我继承了一个在Rails中使用ActiveAdmin和Formtastic的项目。我对这两种方法的经验都很少,但看起来很简单,只做简单的任务。
所以,我的任务是添加一个无线电输入,但是如果收音机没有匹配某个值,则隐藏另一个输入。我到处搜索,似乎找不到任何东西。
这是我的表格:
form do |f|
f.inputs 'Book Details' do
f.input :name, required: true
f.input :has_subtitle, as: radio, required: true
f.input :subtitle
end
end
在这种形式中,我只需要显示:字幕,如果:has_subtitle设置为true / yes,否则他们不应该看到输入(如果它可见也应该是必需的)。
这可以在Formtastic中完成吗?
谢谢!
答案 0 :(得分:1)
f.input :has_subtitle, as: radio, required: true, { data: { toggle: 'subtitle_input' }}
然后将javascript(这是coffeescript)添加到单独的文件(例如form.js.coffee)
$(document).on 'ready page:load', ->
$('[data-toggle]').on "change", ->
$($(this).data('toggle')).toggle($(this).val() == 'show')
您可能需要对其进行一些配置,具体取决于单选按钮的值
然后将其包含在application.js
中# application.js
//= require form