我正在构建这个库应用程序,它有 3 个类。州、图书馆和书籍。该州有许多图书馆,图书馆属于一个州。图书馆有很多书,书被嵌入图书馆。但是,当我做这个 auto_pick_job 并且我们到达top_free_book并调用library.state. library.state 出于某种原因为零。我希望恢复状态,但没有骰子。我调用和创建库的方式如下。所以图书馆将永远属于一个现有的国家。
state = Stats.find(x)
library = state.libaries.new(info)
library.save_optimistic!
我也将感谢使用 Struct 的关系帮助。
class State
has_many: libraries
end
class Library
belongs_to :state
end
class Book
embedded_in :library
def self.top_free_book(library_id)
library = Library.find(library_id)
library.state
end
AutoPickJob = Struct.new(:library_id) do
def perform
Book.top_free_book(library_id)
end
end
def queue_auto_pick
auto_pick_job = AutoPickJob.new(library_id)
Delayed::Job.enqueue(auto_pick_job)
end
end