Позволяет использовать действие PeopleController # show в качестве примера.Что делать, если мне нужно отобразить человека несколькими различными способами в зависимости от приложения.У меня есть несколько вариантов, основанных на формате запроса (js, html), но мне действительно нужно больше.
Я мог бы выполнять различные действия контроллера, но я предпочитаю сохранять свои контроллеры базовыми, если у меня нет разумной альтернативы.Другая идея заключалась бы в том, чтобы иметь оператор case и параметр шаблона, но это также кажется утомительным (особенно, если определенные представления относятся к определенным типам пользователей).
Мой вопрос таков: каков путь к рельсам?сделать это?
people_controller.rb
def show
set_partial
respond_to do |format|
format.js
end
end
protected
def set_partial
@template = case params[:template]
when 'small' then 'small_view'
when 'quick' then 'quick_view'
else
'full_view'
end
end
people / show.js.erb
$('body').append("<%= escape_javascript(render partial: @partial) %>")