ere*_*ere 7 routes ruby-on-rails sti mongoid ruby-on-rails-3
我正在试图找出管理特定用例的控制器和模型的最佳方法.
我正在建立一个评论系统,用户可以使用Polymorphic Reviewable建立对几种不同类型的评论.
Country (has_many reviews & cities)
Subdivision/State (optional, sometimes it doesnt exist, also reviewable, has_many cities)
City (has places & review)
Burrow (optional, also reviewable ex: Brooklyn)
Neighborhood (optional & reviewable, ex: williamsburg)
Place (belongs to city)
Run Code Online (Sandbox Code Playgroud)
我也想知道增加更多的复杂性.我还想偶尔包括细分...即对于美国,我可能会添加德克萨斯州或德国,Baveria并且也可以审查它,但并非每个国家都有地区,甚至那些可能永远不会被审查的地区.所以它一点也不严格.我希望它尽可能简单灵活.
如果用户可以在一个表单上登陆并选择城市或国家,然后使用Foursquare中的数据进行深入查找以查找城市中的特定位置并进行审核,那就太好了.
我真的不确定我应该走哪条路?例如,如果我有一个国家和一个城市会发生什么......然后我决定添加一个陋居?
我可以将地点标签(即威廉斯堡,布鲁克林)归属于纽约市并且标签属于纽约吗?
标签更灵活,可选择解释它们可能属于哪些区域,标签属于某个城市,但也有地点和可审核?
所以我正在为那些做过相关事情的人寻找建议.
使用Rails 3.2和mongoid.
听起来像是嵌套路由/资源的良好候选者。在 中routes.rb,执行以下操作:
resources :cities do
resources :reviews
end
resources :countries do
resources :reviews
end
resources :places do
resources :reviews
end
Run Code Online (Sandbox Code Playgroud)
这应该产生类似以下的内容rake routes:
reviews_cities GET /cities/:id/reviews {:controller=>"reviews", :action=>"index"}
reviews_countries GET /countries/:id/reviews {:controller=>"reviews", :action=>"index"}
reviews_places GET /countries/:id/reviews {:controller=>"reviews", :action=>"index"}
...etc., etc.
Run Code Online (Sandbox Code Playgroud)
在控制器操作中,您查找匹配的:id记录reviewable,并且仅发回附加到该reviewable对象的评论。
另外,请参阅Rails 路由指南nested resources部分,以及RailsCast 关于多态关系的部分,其中有一个关于路由的快速部分,并使所有内容正确排列。
| 归档时间: |
|
| 查看次数: |
1136 次 |
| 最近记录: |