2016-05-21 54 views
0

在我的Rails應用程序中,我的模型包括useritemuser_item嵌套資源的URL段落

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 

名稱的項目SHO uld永不改變,不能被用戶編輯。

用戶的URL爲/users/:id。一個項目的URL,將爲/items/:name爲SEO和用戶友好的目的。

但是最好是user_item?一些可能性:

/users/:id/items/:name

/user_item/:id

/user_item/:item_name

/user_item/:id/:item_name

回答

0

我要提到/items/:name/user_items/:id

你建議其他選擇也許是無效的,這是爲什麼:

/用戶/:ID /項目/:命名

=>只有登錄的用戶可以訪問user_item,所以/users/:id是多餘的,否則,這種URL並不指向user_item

/user_item /:ID

=>這是正常的,但應改爲`/ user_items /:身份證」,但這不是友好的,你W¯¯螞蟻

/user_item /:ITEM_NAME

=>這是沒有意義的,因爲一個item_name可能有許多user_items(S)

/user_item /:ID /: item_name

=>這也沒什麼意義,因爲id就足以識別一個user_item