2012-03-10 97 views
1

我试图呈现一个集合的部分与<%= render @posts %>返回错误:但是它的工作原理,如果我使用<%= render :partial => 'post', :collection => @posts %>轨道3渲染的部分从集合

Missing partial posts/post with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}

_post.html.erb在使用post变量(来自帖子)的相同文件夹中

为什么前面的示例方法在集合n上渲染部分不工作,但后一个例子有用吗?

编辑:我要说明,我用Rails 3.2.1

回答

3

to_partial_path为对象,默认值始终为类视图文件夹下的作用域,所以你的部分必须在posts视图文件夹。

当你使用它的外观控制器的文件夹形式render :partial => 'post'你目前正在。

我怀疑你是不是在PostsController视图文件夹,这可以解释你所看到的行为工作。如果您在posts视图文件夹的工作,然后还有其他事情要怎么回事,这样,如果你能提供更多的细节,这将有助于进一步诊断它

+0

真棒,谢谢!我在一个不同的控制器视图文件夹,我没有意识到它以这种方式寻找部分。 – fridgerator 2012-03-10 15:26:02