Rails 嵌套资源,当我在 GET 请求中需要另一个资源的 id 时,如何创建两个新资源?



就像标题所暗示的那样。我有两个模型,路线如下:

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 或会话。

相关内容

  • 没有找到相关文章

最新更新