如何在rails admin上实现动态下拉列表?

时间:2017-11-06 11:06:41

标签: ruby-on-rails rails-admin

以下是我的模特

class Country
  has_many: cities
end

class City
  belongs_to :country
end

class Airport
  belongs_to :city
  belongs_to :country
  # I really need to have both city_id and country_id on airport
end

我正在使用Rails Admin。当我添加或修改Airport时,我希望能够根据所选的city动态生成country下拉列表。

有什么方法可以实现这个目标吗?

2 个答案:

答案 0 :(得分:0)

class Airport
  belongs_to :city
  belongs_to :country

  #customization of rails admin
  RailsAdmin.config do |config|
    config.model 'Airport' do
      edit do
        field :country_id, :enum do
          enum do
            Country.all.collect{|c| [c.name, c.id]}
          end
        end
        field :city_id, :enum do
          enum do
            City.all.collect{|c| [c.name, c.id]}
          end
        end
      end
    end
  end
end

答案 1 :(得分:0)

不幸的是,Rails Admin并不支持它。您需要自己使用自己的脚本来完成。 Reference

但幸运的是,世界上总有一个好人。以下是您可以学习的参考资料。 http://railscasts.com/episodes/88-dynamic-select-menus-revised