在Rails中,哪些优秀的View特定设计模式可以更轻松地处理许多状态?

时间:2010-10-20 16:39:54

标签: ruby-on-rails design-patterns frontend

我要杀的反模式是:

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

我怀疑答案与视图助手和部分有关,但我想知道一些最佳实践和设计模式是什么。谢谢!

1 个答案:

答案 0 :(得分:0)

我从我的控制器那里做了很多事情:

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

但是,根据您的角色(管理员,用户,成员),您可以执行相同的任务。这样,在呈现视图之前,您是控制器将负责它们的定向。