如果model为空,则Rails app redirect_to另一个模型

时间:2013-02-27 10:16:51

标签: ruby-on-rails ruby ruby-on-rails-3.2 logic

我有一个小应用程序,我正在尝试构建我希望用户能够在Weight模型中存储权重,并在Goal模型中存储目标。当用户被要求每周输入一个新的重量时,他们只会被要求在他们第一次进入应用程序时输入目标,或者在重量小于或等于当前目标的任何后续时间内输入目标。

在这个应用程序的第一次迭代中,为了让我了解MVC和REST模式,我希望简单地将用户重定向到weight#new页面,在那里他们将填充权重,然后将用户重定向到如果目标记录为空白(首次注册应用时为目标记录),或者当前最新权重值低于或等于最新目标值的任何其他情况,请goal#new页大多数记录。

我的问题是如何在控制器中设置此逻辑。

1 个答案:

答案 0 :(得分:0)

这应该很容易。像这样:

def some_action
  # ... do stuff
  if redirect_to_goal?
    redirect_to new_goal_path
  else
    redirect_to some_thing_else_path
  end
end

def redirect_to_goal?
   current_user.goals.empty? || any_other_condition      
end