gpt4 book ai didi

ruby-on-rails - Rails渴望在所有发现中加载

转载 作者:行者123 更新时间:2023-12-03 13:24:54 25 4
gpt4 key购买 nike

好的,我一直在处理一些急于加载的事情,并且有两个模型,例如:

Class Recipe < ActiveRecord::Base
belongs_to :cookbook
has_many :recipetags
end




Class Cookbook < ActiveRecord::Base
has_many :recipes, :include => [:recipetags]
end


效果很好,当我找到一本食谱时,我急于加载食谱,然后急于加载食谱:recipetags:

cb = Cookbook.find(10590, :include => [:recipes])


但是我还想做的是,每当我打开一个食谱时,让它自动加入所有渴望的关联中-基本上我想这样做:

rec = Recipe.find(123)


并在这种情况下也希望加载:recipetags。

我意识到这似乎是微不足道的,但是实际上我在Recipe上有大约4-5个关联,我只是不在这里显示它们,而不必在每个我希望它发生的find调用上显式地执行:include。 。我以为可以在Recipe模型中重写Recipe.find来做到这一点,但我想知道是否有更清洁的方法。

最佳答案

我一直在使用default_scope在希望始终加载的选定模型上执行此操作:

class Post < ActiveRecord::Base
has_many :comments
default_scope :include => :comments, :order => ["title ASC"]
...
end

关于ruby-on-rails - Rails渴望在所有发现中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2042507/

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