因此,我希望在_index
页图片下显示评论的show
部分内容。
我在媒体视图中渲染部分目前是这样的:
<div id="comments">
<%= render partial: 'comments/index' %>
</div>
我的评论控制器看起来像这样:
def index
@comments = Comment.all
render partial: 'comments/index', locals: { :comments => @comments }
end
我用来重新加载的coffescript代码如下所示:
setInterval (=> $('#comments').load('/comments')), 1000
现在在我看来,当我尝试访问我发送给部分的:comments变量时,我无法做到。它不包含任何值。
如何才能将值正确地提供给那部分?
值得注意的是,我的部分也无法访问实例变量@comments
。
答案 0 :(得分:2)
您要从图片index
视图中部分呈现评论show
。
此处使用的操作是picture show
。在将注释部分呈现为部分时,它将不调用注释控制器。这就是为什么@comments
变量无法访问的原因。
因此,请在图片控制器
中定义@comments
def show
@picture = Picture.find(params[:id])
@comments = @picture.comments
end
然后将它们从图片/显示视图传递到您的部分
<div id="comments">
<%= render partial: 'comments/index', :locals => :comments => @comments %>
</div>