我希望在侧边栏中创建一个博客帖子列表。
我的BlogsController
def bloglist
@blog = Blog.all
render 'bloglist'
end我在layout/application.html.erb中调用bloglist.html.erb:
<%= render "blogs/bloglist" %>之后,我发现缺少模板错误:
在视图路径中缺少部分博客/博客列表(:handlers=>:erb,:rjs,::handlers=>:erb,:rhtml,:rxml,:formats=>:html,:locale=>:en,:en} ).
出什么事了?
发布于 2011-01-29 16:33:40
您的文件命名似乎有错误。
部分视图必须始终以下划线开头。在这种情况下,部分视图必须是app/views/blogs/_bloglist.html.erb。
当您调用视图上的呈现并传递‘blog/bloglist’时,它将查找这个文件。
您还应该知道,通过调用该部分,它将在默认情况下调用而不是调用控制器操作。如果您想获得每个动作呈现的博客列表,您应该在您的before_filter上使用ApplicationController。
就像这样:
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :get_blog_list
protected
def get_blog_list
@blog = Blog.all
end
endhttps://stackoverflow.com/questions/4837977
复制相似问题