2

我看到和工作的很多应用程序通常会在索引操作中出现很多 if 条件。

前任:

class TaskController < ApplicationController

  def index
    if params[:project_id]
      Project.find(params[:project_id]).tasks
    else
      Task.scoped
    end
  end

end

对此的最佳做法是什么?

我的想法是改用路由,调用一个动作index,调用另一个动作,然后如果存在index_by_project则指向最后一个动作。params[:project_id]这是一个好主意,我该如何实施?

4

1 回答 1

0

Url非常重要,它们使您的头脑和代码中的事情变得清晰。

如果您有时需要params[:project_id],它会要求嵌套路由。

所以你最终会得到:

/tasks
/projects/:project_id/tasks
于 2013-10-29T10:12:21.243 回答