0

Rails アプリケーションには、ビュー index.html.erb とコントローラー posts_controller.rb があります。コントローラーで変数を定義しました:

def index
@posts = TableName.find...

そして私が持っているビューで:

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

localhost/posts/index 経由でアクセスすると、正常に動作します。しかし、私が本当に望んでいるのは、このビューを他のビュー内に表示することなので、使用して<%= render :template => 'posts/index' %>いますが、次のエラーメッセージが表示されます。 nil.each の評価中にエラーが発生しました"

これどうやってするの?ありがとう

4

1 に答える 1

2

未定義のオブジェクトでメソッドを呼び出そうとすると、NoMethodError がトリガーされます。つまり、他のビューで投稿/インデックスをレンダリングしますが、 @posts インスタンス変数は他のビューで定義されていません。render テンプレートはコントローラーをルーティングしません。

于 2012-05-02T01:04:58.733 に答える