在其他视图内查看

时间:2012-05-02 00:43:01

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

在Rails应用程序中,我有一个视图index.html.erb和一个控制器posts_controller.rb。 在控制器中我定义了一个变量:

def index
@posts = TableName.find...

在视图中我有:

<% @posts.each do |post| %>

如果我通过localhost / posts / index访问它,它可以正常工作。但我真正想要的是在其他视图中显示此视图,因此我使用<%= render :template => 'posts/index' %>但是我收到此错误消息:“NoMethodError - 当您没有预料到时,您有一个nil对象!您可能已经预料到了一个Array的实例。在评估nil.each“

时发生了错误

我该怎么做?感谢

1 个答案:

答案 0 :(得分:2)

尝试在未定义对象上调用方法时会触发NoMethodError。换句话说,您在其他视图中呈现posts / index,但在另一个视图中未定义@posts实例变量。渲染模板不会路由控制器。