ActiveAdmin belongs_to 未确定关联范围
ActiveAdmin belongs_to not scoping the association
我在 Active Admin 中有两个模型,其中一个属于另一个 has_many
关联:
class Library < ActiveRecord::Base
has_many :books
class Book < ActiveRecord::Base
belongs_to :library
ActiveAdmin.register Library
ActiveAdmin.register Book do
belongs_to :library
navigation_menu :library
end
问题
问题是,当访问特定图书馆(例如:admin/libraries/123/books
)的图书页面时,它总是向我显示所有可用的图书,而不是我选择的图书馆中的图书。有什么想法或者这可能是一个已知问题吗?
我在 Rails 版本 4.2.0 和 ActiveAdmin 主分支 1.0.0.pre。
好的...我刚刚意识到像下面这样指定 scoped_collection
会破坏 ActiveAdmin 包含的 belongs_to 范围。
controller do
def scoped_collection
Book.includes([:pages])
end
end
解决方案 是将查询包含在 scoped_collection
中,如下所示:
controller do
def scoped_collection
Book.where(library_id: params[:library_id]).includes([:pages])
end
end
我在 Active Admin 中有两个模型,其中一个属于另一个 has_many
关联:
class Library < ActiveRecord::Base
has_many :books
class Book < ActiveRecord::Base
belongs_to :library
ActiveAdmin.register Library
ActiveAdmin.register Book do
belongs_to :library
navigation_menu :library
end
问题
问题是,当访问特定图书馆(例如:admin/libraries/123/books
)的图书页面时,它总是向我显示所有可用的图书,而不是我选择的图书馆中的图书。有什么想法或者这可能是一个已知问题吗?
我在 Rails 版本 4.2.0 和 ActiveAdmin 主分支 1.0.0.pre。
好的...我刚刚意识到像下面这样指定 scoped_collection
会破坏 ActiveAdmin 包含的 belongs_to 范围。
controller do
def scoped_collection
Book.includes([:pages])
end
end
解决方案 是将查询包含在 scoped_collection
中,如下所示:
controller do
def scoped_collection
Book.where(library_id: params[:library_id]).includes([:pages])
end
end