Глобальный рендеринг Rails 3

Есть ли способ сообщить всему контроллеру об отображении определенного фрагмента или текста?

Пример:

class PageNotesController < ApplicationController
  render :text => "Testing"
  def index
    @notes = PageNotes.all
  end

  def show
    @note = PageNotes.find(params[:id])
  end

  def create
    @note = PageNotes.create(params[:note])
  end

end

Теперь, очевидно, я могу перейти к каждому отдельному методу и сказать ему что-то визуализировать, но мне просто было любопытно узнать, возможно ли это.

Заранее спасибо!


person dennismonsewicz    schedule 20.10.2010    source источник


Ответы (2)


вы можете указать всему контроллеру отображать макет.

layout 'some_layout'

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

чтобы четко ответить на ваш вопрос. Я не знаю.

person thenengah    schedule 20.10.2010
comment
Спасибо! Это кажется лучшим решением моей проблемы - person dennismonsewicz; 21.10.2010

Вы могли бы сделать это. Я не знаю, зачем вам это нужно, но вот как.

class PageNotesController < ApplicationController
  before_filter :write_out_testing

  ...

  protected
  def write_out_testing
    render :text=>"Testing
    false #do not execute the action originally requested.
  end

end
person Jesse Wolgamott    schedule 20.10.2010