我希望能够使用数据库中的项目来生成一些路线。因此,如果我添加新类型,我不必手动创建新路线。我有一些优先级较低的路由,所以我不能只使用 match ":type", :to => "items#search"。我找了这个,在上面找不到任何东西,所以我试了一下,它奏效了。
Type.find(:all).each do |type|
name = type.name
match "#{name}", :to => "items#search"
end
我的问题是,这样做是不是一种不好的做法,如果是,为什么?
谢谢
编辑:即使我已经接受了答案,我可能应该补充一点,我真正想要完成的是将类型的名称作为参数传递给路由,如下所示:
Type.find(:all).each do |type|
name = type.name
match "#{name}", :to => "items#search", :type => name
end