gpt4 book ai didi

ruby-on-rails - 带有嵌套对象的 Rabl 缓存

转载 作者:行者123 更新时间:2023-12-01 03:58:32 24 4
gpt4 key购买 nike

以下是我的拉 bool 观点:

学生/show.json.rabl

object @student
cache @student
attribute :name, :gender, :age

node :school do |student|
partial("shared/school", :object => student.school)
end

共享/_school.json.rabl
object @school
cache @school

attributes :id, :name

student.rb:
class Student < ActiveRecord::Base

belongs_to :school, :touch => true

end

school.rb
class School < ActiveRecord::Base

has_many :students

end

因此,当我更新学生时,缓存会按预期失效。问题是当我更新学校时,学生没有获得更新的学校属性。我原以为更新学校模型时部分中的缓存@school 会失效,但似乎并非如此。

编辑:为学生添加了触摸功能,以便在更新时使学校无效。

最佳答案

为了帮助别人,这是我现在正在做的事情:

我将学生表演 View 拆分为:

学生/show.json.rabl:

extends "students/min_show"

node :school do |student|
partial("shared/school", :object => student.school)
end

和学生/min_show.json
object @student
cache @student
attribute :name, :gender, :age

这样我仍然为学生读取缓存,但学校总是从模板呈现并单独缓存。

关于ruby-on-rails - 带有嵌套对象的 Rabl 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15277146/

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