ROR 3 - указание конкретного файла вида, игнорирование макета приложения - PullRequest
2 голосов
/ 09 апреля 2011

Я хотел бы указать конкретный файл представления для отображения вместо файла по умолчанию, соответствующего архитектуре REST, что означает, что из моей функции 'create' в контроллере я хотел бы вызвать 'новый' файл представления - который я считаюэто можно сделать с помощью:

def create
 .
 .
 render :new
end

Но мне также нужен этот файл представления, чтобы игнорировать межсайтовый макет, указанный в layouts / application.html.erb?Есть ли способ сделать это?

Если бы это было из «новой» функции, я мог бы просто заявить «render: layout => false» .. но мне нужно это из «создать»

есть что-то вроде:

render :new, layout => false

Спасибо!

Ответы [ 3 ]

3 голосов
/ 10 апреля 2011

Вы можете сделать то, что вы упомянули

def create
  render :new, :layout => false
end

Затем вы можете добавить такие условия, как это

def create
  render :new, :layout => user_signed_in?
end

или наоборот в зависимости от ваших потребностей

3 голосов
/ 11 апреля 2011

Другой способ заключается в следующем:

render :template => :new, :layout => false
3 голосов
/ 09 апреля 2011

Я не уверен в этом, придется попробовать, но я думаю, что вы можете сделать это:

layout 'application', :except => :action_name

, чтобы исключить действие в вашем контроллере.

РЕДАКТИРОВАТЬ:Я только что попробовал, это действительно работает:)

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