2010-09-03 1 views
3

Хорошо, у меня есть несколько разных идей о том, как я этого достиг, но думал, что я попрошу здесь, если у кого-то будет лучшее решение.Как определить, какой вид рендеринга в действии контроллера

У меня есть SessionController, у которого есть вид входа в систему и вид widget_login. Мне было интересно, как определить, какой вид рендерить в новом действии SessionController.

В настоящее время все использует стандартный вход в систему. Я надеялся, что сможет отобразить вид widget_login вместо этого, если запрос поступает от моего виджета (reviewcontroller), на котором есть ссылка «Войти». Я не хочу использовать реферер, чтобы определить это, если это возможно.

Благодаря

ответ

1

Не уверен, если это возможно, не видя кода, но как о чем-то вроде этого:

respond_to do |format| 
    format.html { render(:action => 'new') } 
    format.widget { render(:action => 'widget_login') } 
end 

Тогда в вашей ссылке виджет для new.widget.

+0

Хорошо, я знал, что это должно быть что-то простое. Я стажер и изучаю тонну, и мой мозг иногда должен наверстать упущенное. Это, безусловно, должно быть осуществимо с моим кодом. Мне это смешно, я не думал об этом, потому что я использовал код точно так, чтобы отображать iframe для виджета. Спасибо! –

0

в конце кода действия:

render :layout => 'my_layout' 

если уже был render вызов, изменить его, добавив параметр :layout.