【问题标题】:ActiveAdmin Cross Reference ModelsActiveAdmin 交叉参考模型
【发布时间】:2015-05-27 15:15:21
【问题描述】:

我有两种不同的型号。一个叫“书”,一个叫“作者”。在 ActiveAdmin 中,当在“书籍”下创建新的“书籍”时,如何在表单中包含来自“作者”模型的作者列表的下拉列表?

我整天都在寻找提示,但还没有想出任何东西..任何帮助将不胜感激!

【问题讨论】:

    标签: ruby-on-rails activeadmin formtastic


    【解决方案1】:

    alexandrine_greenfelder的回答是一个合适的解决方案,但是当涉及到更大的数据量时,这种加载条目以供选择需要很多时间。

    pluck 在这种情况下要快得多:

    f.input :author, as: :select, collection: -> { Author.pluck(:full_name, :id) }
    

    也不知道我如何使用 lambda 为集合播种:

    -> { Author.pluck(:full_name, :id) }
    

    这样,一旦点击选择下拉菜单,数据就会从数据库中加载,而不是在模型初始化时(这样可以防止出现新的Author 实例被添加到数据库,但下拉菜单中还没有出现的情况)。

    【讨论】:

    • 嗨@Andrey,我使用lambda,但它不起作用我收到类似“#<0x00007f3ae403d240>
    【解决方案2】:

    使用这样的东西:

    f.input :author, as: :select, collection: Author.all.map { |a| [a.full_name, b.id] }
    

    form 部分。

    【讨论】:

      猜你喜欢
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 2011-02-05
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多