我有一个User
类,其中包含Addresses
。
当我编辑用户时,我点击在RailsAdmin中添加一个新地址,我希望它能在该用户的上下文中构建它(因为我在其页面上),但它只是给出了它我可以选择系统中所有用户的下拉列表。
如何让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
答案 0 :(得分:1)
诀窍是将accepts_nested_attributes_for :addresses
添加到User
模型。
将编辑视图更改为只有一个按钮来添加新地址并编辑与记录相关的现有地址。
RailsAdmin初始化程序中无需特殊配置。