【问题标题】:Hide input parameters partially on activeadmin在activeadmin上部分隐藏输入参数
【发布时间】:2017-09-05 07:32:03
【问题描述】:

我有一个 activeadmin 表单,其中一个输入字段由某种方法返回的 json 数据填充

  f.input :tag, :label => 'Tags', :as => :select, :collection => HelperClass.get_json()

json 看起来像这样:

            {
                "group_name": "Group1",
                "categories": [
                  {
                    "category_name": "cat_1",
                    "score": "120"
                  },
                  {
                    "category_name": "cat_2",
                    "score": "120"
                  }
                ]
              }

虽然这显示在 UI 的表单上,但我只想显示“组名”。但是,我想稍后使用“类别”中的数据。

无论如何我可以做到这一点吗?例如,从表单中隐藏剩余的 json,或者使用 'group_name' 或任何其他我想不到的方式在其他地方解析 json..

PS:您在回答这个问题时能否详细说明一下。我不是ROR开发人员,但不得不修改别人写的代码。

【问题讨论】:

  • 试试HelperClass.get_json().slice(:group_name)。这只会显示组名

标签: ruby-on-rails json ruby activeadmin


【解决方案1】:

首先转换为数组/哈希,然后使用 Ruby 数组/哈希方法。假设您的意思是 JSON 是一组组:

data = JSON.parse HelperClass.get_json()
f.input :tag, :label => 'Tags', :as => :select,
        :collection => data.map {|grp| grp['group_name']}

我怀疑您想要一个多级选择,这将需要您编写自己的 JavaScript 来填充第二个选择。也许https://github.com/blocknotes/activeadmin_selectize 会对此有所帮助。

【讨论】:

  • 是的。该地图似乎有助于仅显示 group_name。这是我想要访问的剩余数据。我现在将检查 JS 部分。还是谢谢!
猜你喜欢
  • 2016-02-12
  • 1970-01-01
  • 2023-01-12
  • 2011-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-06
  • 2012-06-11
相关资源
最近更新 更多