Rails路由按类别过滤

时间:2013-03-18 22:54:35

标签: ruby-on-rails ruby resources routes categories

我的应用中有两个型号:

class Suggest < ActiveRecord::Base
   belong_to :category
end

class Category < ActiveRecord::Base
   has_many :suggests
end

我想做一条路线:

/ suggest / category1 / - 列出所有建议来自第1类

/ suggest / category2 / - 列出所有建议来自第2类

/ suggest / category1 / 123 //显示来自ID 123的第1类的建议

/ suggest / category1 / 123 / edit //从ID 123的第1类编辑建议

我怎么做?

1 个答案:

答案 0 :(得分:1)

你这样做的方式有点错误;

由于您的类别有很多建议,要从单个类别列出所有建议(建议!?),您应该有一条路线:

/category1/suggests而不是相反:

要像你那样做:

resources :categories do
  resources :suggests
end

这样你就会获得路线:

  

/ category1 / suggest - 列出所有建议来自第1类

     

/ category2 / suggest - 列出所有建议来自第2类

     

/ category1 / suggest / 123 //显示来自ID

的第1类的建议      

/ category1 / suggest / 123 / edit //编辑来自ID 123的第1类的建议