就像标题所暗示的那样。我有两个模型,路线如下:
resources :users do
resources :books
end
- 这给了我正在寻找的那种网址。问题是我需要有一个逻辑,未登录的用户可以进入并单击"创建书籍",并在新页面中选择单击"新用户"或"我有一个帐户",通过javascript为新用户加载表单及其所有参数,或加载仅包含电子邮件和密码的表单。如何创建此路径以工作?使用这些路由,似乎我得到了/users/:user_id/books/new
路径,但是我需要用户的ID,而我没有。
有什么想法吗?
顺便一提。用户has_many:书籍,书籍belongs_to:用户。
只需添加不带用户 ID 的路由:
# with user_id
resources :users do
resources :books
end
# without user_id
resources :books
顺便说一句,在URL中有一个用户ID看起来很危险。这意味着任何人都可以访问任何用户的书籍,只需更改URL。当前用户的 ID 根本不应出现在您的路由中,但应始终使用 Cookie 或会话。