В Rails, каковы хорошие шаблоны проектирования, ориентированные на View, которые облегчают обработку многих состояний? - PullRequest
0 голосов
/ 20 октября 2010

Анти-паттерн, который я хочу убить:

- if !current_user
  # do something
- if !member
  # do something else
- if admin
  # blah blah blah
- else
  # Bored now.

Я подозреваю, что ответ как-то связан с помощниками представления и частичными функциями, но мне интересно, каковы некоторые из лучших практик и шаблонов проектирования. Спасибо!

1 Ответ

0 голосов
/ 20 октября 2010

Я многое делаю из своего контроллера:

before_filter :require_user

def require_user
  unless current_user
    store_location
    flash[:notice] = "You must be logged in to access this page"
    redirect_to login_url
    return false
  end
end

Но в зависимости от вашей роли (администратор, пользователь, участник) вы можете выполнить одну и ту же задачу. Таким образом, перед визуализацией вид, ваш контроллер позаботится о том, куда они должны быть направлены.

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