Noa*_*ark 3 ruby-on-rails ruby-on-rails-3
我有一个与项目对应的rails模型和控制器.每个项目都有多种状态.假设状态可以是提案,已批准,已存档.
在我的控制器中,我有一个索引操作.但是,在整个应用程序的观点中,我想链接到提案,已批准和已存档的项目,并仅显示这些项目.
我可以创建诸如批准,提议,存档等操作,并让那些只获得匹配的操作.
我正在考虑的另一件事是,每个链接都将变量传递给params,然后指示索引操作的作用.
这两个中哪一个是正确的方式和/或我在轨道中丢失了什么?
我绝对更喜欢params中变量集的选项.这种方式很干,添加新状态几乎是不费吹灰之力的.为了实现它,我将使用以下代码:
# routes.rb
match 'projects/:filter' => 'projects#filter', :constraints => { :filter => /^approved$|^archived$|^proposal$/}
# ProjectsController.rb
def filter
@projects = Project.where(:status => params[:filter])
end
Run Code Online (Sandbox Code Playgroud)
这样,如果添加更多状态,您只需要在路径定义中进行过滤即可.
归档时间: |
|
查看次数: |
64 次 |
最近记录: |