ruby-on-rails – 使用嵌套对象进行Rabl缓存
发布时间:2020-12-17 02:15:32 所属栏目:百科 来源:网络整理
导读:以下是我的观点: 学生/ show.json.rabl object @studentcache @studentattribute :name,:gender,:agenode :school do |student| partial("shared/school",:object = student.school)end 共享/ _school.json.rabl object @schoolcache @schoolattributes :id
以下是我的观点:
学生/ 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会失效,但事实并非如此. 编辑:为学生添加了触摸功能,以便在更新时使学校无效. 解决方法
为了帮助别人,我现在正在做的事情是:
我将学生秀视图分成: 学生/ 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,:age 这样我仍然可以读取学生的缓存,但学校总是从模板中呈现并单独缓存. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |