анти-шаблон, который я хочу, чтобы убить это:В Rails, каковы некоторые хорошие шаблоны дизайна, которые упрощают обработку многих состояний?
- if !current_user
# do something
- if !member
# do something else
- if admin
# blah blah blah
- else
# Bored now.
Я подозреваю, что ответ что-то делать с видом хелперов и обертонов, но мне интересно, что некоторые из лучших практик и шаблонов проектирования являются. Благодаря!
Спасибо, Поездка, я предполагаю, что мой вариант использования - это больше о том, хочу ли я показывать пользователям серые кнопки, отключенную кнопку, синюю кнопку или вообще не кнопку, основанную на состоянии текущего пользователя. Это не столько проблема разрешений, либо контроль доступа. – a10s
Не могли бы вы выполнить одну и ту же задачу через контроллер через файл before_filter. И в зависимости от случая метода, это относится к тем, какие кнопки они видят в представлении? – Trip
Возможно, я мог бы, но мне не нравится идея ввода кода, связанного с представлением в контроллерах. Я проверяю разрешения в контроллере, но в моем случае для пользовательского интерфейса есть много состояний, которые не имеют никакого отношения к разрешениям, связанным с тем, что пользователь еще или еще не сделал. В этой ситуации я хочу переключиться в зависимости от состояния пользователя и отобразить разные частичные, использовать разные имена классов CSS или просто отобразить другой текст. – a10s