RailsAdmin:如何使用外键设置构建嵌套记录?

时间:2014-09-23 20:30:18

标签: ruby-on-rails ruby-on-rails-4 rails-admin

我有一个User类,其中包含Addresses

当我编辑用户时,我点击在RailsAdmin中添加一个新地址,我希望它能在该用户的上下文中构建它(因为我在其页面上),但它只是给出了它我可以选择系统中所有用户的下拉列表。

enter image description here

如何让RailsAdmin将新地址对象的user_id属性设置为我正在编辑的用户的ID?

这是我用户编辑操作的当前配置:

# this just pretty-prints the address names and also scopes the list down to this specific user
config.model 'User' do
  configure :addresses, :has_many_association

  edit do
    configure :addresses do
      associated_collection_scope do
        user = bindings[:object]
        proc { Address.where(user_id: user) }
      end
    end
  end
end

# I'm guessing something has to get done in here
config.model 'Address' do
  configure :user, :belongs_to_association

  modal do
    configure :user_id do
      default_value do
        # bindings[:object] is an empty Address in this context
      end
    end
  end
end

1 个答案:

答案 0 :(得分:1)

诀窍是将accepts_nested_attributes_for :addresses添加到User模型。

将编辑视图更改为只有一个按钮来添加新地址并编辑与记录相关的现有地址。

RailsAdmin初始化程序中无需特殊配置。