呈现带有 Responders 的展示模板 gem

Rendering show template with Responders gem

所以我的问题是如何仅在实体属于当前用户时才呈现显示模板。我的控制器中有这段代码

 def show
   respond_with(@site) if current_user.author_of?(@site)
 end

但它仍然呈现显示模板。什么是正确的方法?

@site 就是这个

def find_site
  @site = Site.find(params[:id])
end

放置此逻辑的最佳位置是在 find_site 方法中。

将查询范围限定到用户。假设你的关系是 user has_many sites,下面的代码将起作用:

@site = current_user.sites.find(params[:id])