рельсы 3 рендеринг частичное из коллекции - PullRequest
1 голос
/ 10 марта 2012

Я пытаюсь визуализировать частичное в коллекции с <%= render @posts %>, которое возвращает ошибку:

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

Однако это работает, если я использую <%= render :partial => 'post', :collection => @posts %>

У меня есть _post.html.erb в той же папке, в которой используется переменная post (из сообщений)

Почему первый способ рендеринга частичного в коллекции не работает, но последний пример работает?

РЕДАКТИРОВАТЬ: я должен указать, что я использую Rails 3.2.1

1 Ответ

3 голосов
/ 10 марта 2012

Значение по умолчанию to_partial_path для ваших объектов всегда находится в области просмотра для класса, поэтому ваш частичный элемент должен находиться в папке posts.

Когда вы используете форму render :partial => 'post', она просматривает папку контроллера, в которой вы находитесь.

Я подозреваю, что вы не работаете в папке PostsController view, что объясняет поведение, которое вы видите. Если вы работаете в папке posts view, то должно произойти что-то еще, чтобы вы могли предоставить более подробную информацию, которая поможет в дальнейшей диагностике

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...