has_and_belongs_to_many関係を持つユーザーとグループを含むデータベースがあります。新しいグループが追加されると、そのグループは作成されますが、キャッシュをクリアするか、シークレットウィンドウでログインするまで、グループへのユーザーのメンバーシップは伝播されないようです。正しく保存されていることはわかっていますが、キャッシュがクリアされるまで読み込まれていないようです。これは最近始まったばかりで、理由がわかりません。どんな助けでも大歓迎です。
モデルから:
class User < ActiveRecord::Base
has_many :services
has_many :recipes
has_and_belongs_to_many :groups
attr_accessible :recipes, :groups
end
class Group < ActiveRecord::Base
has_and_belongs_to_many :users
has_many :recipes
attr_accessible :description, :title, :recipe, :picture, :featured, :user_id
end
グループの作成メソッド:
def create
@user = User.find(current_user.id)
@group = Group.new(params[:group])
@group.user_id = @user.id
@user.groups << @group
redirect_to group_path(@group)
end
ユーザーのグループメンバーシップの表示-これは、キャッシュがクリアされるまで更新されません。
<% @user.groups.each do |group| %>
<% if group %>
<p class="group-title"><a href="<%= group_path(group) %>"><%= group.title %></p>
<% @latestpic = Recipe.where("group_id = ?", group).limit(1).order("created_at DESC") %>
<% if @latestpic.exists? %>
<% @latestpic.each do |pic| %>
<%= image_tag(pic.picture.url(:medium)) %>
<% end %></a>
<% else %>
<%= image_tag "http://placehold.it/300x300" %>
<% end %>
<br></br>
<% end %>
<% end %>