【发布时间】:2014-08-09 05:34:27
【问题描述】:
我看到了这段代码
<% cache("students_cache") do %>
<% @swimming_students.each do |swimming_student| %>
<tr class="gradeX">
<td><%= link_to " #{swimming_student.full_name}", swimming_student %></td>
<td><%= swimming_student.homephone %></td>
</tr>
<% end %>
<% end %>
我在另一个动作中有过期代码
def create
expire_fragment("students_cache")
@swimming_student = Swimming::Student.new(params[:swimming_student])
respond_to do |format|
if @swimming_student.save
format.html { redirect_to @swimming_student, notice: 'Student was successfully created.' }
format.json { render json: @swimming_student, status: :created, location: @swimming_student }
else
format.html { render action: "new" }
format.json { render json: @swimming_student.errors, status: :unprocessable_entity }
end
end
结束
但是在我创建了一个新学生之后,缓存没有更新。
缺少什么?
【问题讨论】:
-
你在哪里更新
@swimming_students? -
@spickermann 我必须更新
@swimming_students吗?expire_fragment("students_cache")不应该过期缓存吗?
标签: ruby-on-rails ruby caching ruby-on-rails-4