2009-06-09 4 views
5

Вот начинающий Рельсы вопрос ...Возвращаясь с рельсов контроллера

После того как я сделать:

format.xml { head: ok} 

Как вернуть из конечной точки контроллера, не показывая вид? Если я уйду с конца функции в этот момент, я получу то, что ожидаю, но если я назову 'return', я попаду в представление (или в моем случае в отсутствующий шаблон представления). Я могу кодировать много файлов if/else и т. Д., Но было бы неплохо выйти из функции, не получив в шаблоне представления.

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

ответ

7

Вы можете использовать «render :nothing => true, :status => :ok» для возврата без рендеринга, после того как вы отправите рендер: nothing => true, вам нужно вернуться с контроллера, что-то вроде этого может работать. Вы можете поменять вызов head() метода для render => :nothing с последующим return, метод head() документирован здесь:

Вот код, который должен сделать это для вас ...

Ping меня, если это не правильно ответить на ваш вопрос, документацию для визуализации вызова с некоторыми полезными комментариями пользователей можно найти здесь:

(жаль, что я не мог гиперссылкой ссылки для вас, как новый пользователь StackOverflow не позволит мне размещать более одного)

2

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

render :nothing => true 
4

Использование

render :nothing => true, :status => :ok

в методе действия

Смежные вопросы