Показать записи блога в боковой панели (рельсы 3) - PullRequest
0 голосов
/ 29 января 2011

Я хочу создать список сообщений в блоге на боковой панели.
My BlogsController

def bloglist
  @blog = Blog.all
  render 'bloglist'
end

И я вызываю bloglist.html.erb в layout / application.html.erb:

<%= render "blogs/bloglist" %>

После этого я получил ошибку шаблона:

Отсутствует частичный блог / список блогов с {: handlers => [: erb,: rjs,: builder,: rhtml,: rxml],: format => [: html],: locale => [: en,: en ]} в путях просмотра ...

Что не так?

1 Ответ

1 голос
/ 29 января 2011

Кажется, у вас есть ошибка в именовании файла.

A частичное представление всегда должно начинаться с подчеркивания. В этом случае ваше частичное представление должно быть app/views/blogs/_bloglist.html.erb.

Когда вы вызываете render для представления и передаете 'blogs / 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
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...