如何隐藏Formtastic条件的输入?

时间:2015-11-12 19:25:02

标签: ruby-on-rails ruby-on-rails-4 activeadmin formtastic

我继承了一个在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中完成吗?

谢谢!

1 个答案:

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