我的应用中有用户和组织。我希望路线功能像Github一样,你基本上都有:
/约翰-DOE
和
/约翰斯组织
最好的方法是什么?
谢谢!
答案 0 :(得分:2)
如果您使用ActiveRecord进行数据访问,请不要介意修改模型, 然后Polymorphic Associations或Single table inheritance应该有效。
使用单表继承的想法,我们可以使用我们的模型:
class Resource < ActiveRecord::Base; end
class User < Resource; end
class Organization < Resource; end
和我们的表如下:
+----+----------------+-------------------+--------------------+
| id | Type | Name | Slug |
+----+----------------+-------------------+--------------------+
| 1 | Users | John Doe | john-doe |
| 2 | Organizations | John Organization | johns-organization |
+----+----------------+-------------------+--------------------+
然后我们应该能够使用
访问资源resource = Resource.where(slug: 'john-doe').first
resource.type # user or organization
# which you can use to decide how to render the views accordingly.