在我的rails应用中,我的模型包括user
,item
和user_item
。
user.rb
has_many :user_items
has_many :items, through: :user_items
item.rb的
has_many :user_items
has_many :users, -> { uniq }, through: :user_items
belongs_to :user
user_item.rb
belongs_to :user
belongs_to :item
项目名称永远不会更改,用户也无法编辑。
用户的网址为/users/:id
。一个项目的URL,对于SEO和用户友好的目的,将是/items/:name
。
但对user_item
最好的是什么?一些可能性:
/users/:id/items/:name
/user_item/:id
/user_item/:item_name
/user_item/:id/:item_name
答案 0 :(得分:0)
我会参考/items/:name/user_items/:id
您建议的其他选择可能无效,原因如下:
/用户/:ID /项目/:名称
=>只有登录用户才能访问user_item
,因此/users/:id
是多余的,否则,此类网址不会指向user_item
/ user_item /:id
=>这没关系,但应该更改为`/ user_items /:id',但这并不是你想要的友好
/ user_item /:ITEM_NAME
=>这没有意义,因为item_name
可能有很多user_items
(s)
/ user_item /:ID /:ITEM_NAME
=>这也没有意义,因为id
足以识别user_item