【发布时间】:2011-08-15 01:51:46
【问题描述】:
我正在使用 Rails 3、Devise 和 Mongoid。
我相信我可以使用 RESTful Routes 完成我需要的事情,但我不知道该怎么做。让我解释一下我拥有什么以及我想要做什么。
假设我有两个控制器 - User 和 Simpleform。
Simpleform 是一种面向公众的表单(无需身份验证),提交时会显示在用户的帐户中(当他们登录时)。
我在系统上有多个用户,每个用户都会看到特定于他们的表单提交。
所以问题是,如何让面向公众的表单提交到特定用户的帐户?
截至目前,填写新表单的路径类似于“site.com/simpleform/new”。我想我可以使用路由使它看起来像这样“site.com/simpleform/user_id/new”或“site.com/user_id/simpleform/new”。我认为任何一种变化都行得通。现在,当表单从公众提交时,应用程序也知道要关联哪个用户,因为 url 中的 user_id。
我认为逻辑是可行的,RESTful Routes 可以做到这一点,我只是不知道该怎么做。
【问题讨论】:
-
请您澄清一下。您说提交 Simpleform 不需要身份验证,但您希望它与用户相关联?不知何故,您必须提供一个用户 ID 才能将 Simpleform 与用户相关联。当他/她提交表单(一个简单的嵌套资源)时,用户必须登录。或者表单必须包含用户 ID 字段(允许任何人将 simpleform 与任何用户关联)。您是否希望要求用户在访问和提交 SimpleForm 之前先登录?
-
或者您是否希望任何人看到 SimpleForm,然后在他们尝试提交表单时强制登录?
-
两者都不是。假设您有 A 公司和“公众(很多人)”。 A 公司有一个我的应用程序帐户,并且有一个他们想放在他们网站上的表格。任何人都可以在 A 公司的网站上填写表格并提交(无需认证)。但是,A 公司需要登录系统才能查看提交的表格。有几家公司在我的应用中有帐户,所以我需要一种方法来了解何时提交面向公众的表单属于哪个公司。因此,在表单的 url 中包含公司 ID 的解决方案。这样更有意义吗?
标签: ruby-on-rails ruby-on-rails-3 routes