gpt4 book ai didi

ruby-on-rails - 其他模型方法中的 current_model

转载 作者:数据小太阳 更新时间:2023-10-29 08:43:15 24 4
gpt4 key购买 nike

book/show 中,我想在不滥用 View 的情况下查看它在每个现有图书馆中的销量。逻辑能否以某种方式传输到模型中?当前 book/show.haml:

= @book.name    
- @libraries.each do |library|
= library.sales.where(book_id: @book.id).map(&:quantity).sum

我的想法是在 library.rb 中添加一个方法,例如:

  def current_book_sold_by_library
@book = Book.find(:id)
#sales.where(book_id: @book.id).map(&:quantity).sum
sales.map(&:quantity).sum
end

但是玩这个并没有帮助。我的设置:

书.rb:

class Book < ActiveRecord::Base
end

图书馆.rb

class Library < ActiveRecord::Base
has_many :books, through: :sales
end

销售.rb

class Sale < ActiveRecord::Base
belongs_to :book
belongs_to :library
end

books_controller.rb

class BooksController < ApplicationController
def show
@libraries = Library.all
@sales = @book.sales
end
end

最佳答案

你可以添加一个以书作为参数的方法到Library模型:

# view
- @libraries.each do |library|
= library.book_sold_by_library(@book)

# Library model
def book_sold_by_library(book)
sales.where(book_id: book.id).map(&:quantity).sum
end

关于ruby-on-rails - 其他模型方法中的 current_model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43794287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com