2016-05-21 47 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