希望:在图书/展览中,我希望看到每个图书馆的销售数量。
问题:目前我看到图书/节目中每个图书馆的所有销售数量,而不仅仅是本书的数量
我有3个型号:
Library (has_many :sales, has_many :books, through: :sales)
Sale (belongs_to :library, :book) (`book_id`, `library_id`, `quantity` fields)
Book (has_many :sales, has_many :libraries, through: :sales)
library.rb:
def books_sold_quantity
sales.map(&:quantity).sum
end
BooksController中:
def show
@libraries = @book.libraries
end
预订/显示
BookID:
= @book.id
Library sales
%table
%thead
%tr
%th LibraryID
%th Books sold
%tbody
- @libraries.each do |library|
%tr
%td= library.id
%td= library.books_sold_quantity
答案 0 :(得分:0)
最简单的选择是
%%time
selector = RFECV(estimator, step=1, cv=5, n_jobs=4)
selector = selector.fit(X, y)
CPU times: user 3.42 s, sys: 312 ms, total: 3.74 s
Wall time: 11.8 s
但这会产生n + 1查询问题。
这里建议的是创建一个更高级的查询来获取控制器中的库。获取此书可用的所有库的查询,加入销售,并汇总所有销售数量。
它看起来像这样:
def amount_sold(book, library)
Sale.where(book: book, library: library).sum(:quantity)
end