0

伙计们,我对此变得完全疯狂......并且根本无法弄清楚如何摆脱所有这些麻烦。我真的需要一个神圣的帮助,或者至少一些关于这个问题的教程和指南的建议。

我相信这在许多应用程序中是一项非常常见的任务,但我在这个意义上找不到任何帮助,不是在 stackoverflow 上,不是在谷歌上,不是在我知道的其他 Rails 论坛上......我开始觉得一个笨蛋!!!

问题

(1) 模型(涉及的模型)

User.rb Item.rb(嵌套在用户中:例如user/3/item/5)

(2) 我想做的事

current_user(登录的用户)可以创建一个项目,并以相同的形式决定与许多其他用户共享或不共享它。

通过这种方式,我们与之共享的用户也可以看到和访问该项目。

我知道这里将涉及的是:

(a)has_many:通过item和user之间的关系(b)我们可以称之为共享的联合表(带有item_id和user_id)(c)最终为用户使用不同的名称并使用:class_name指向用户

这并不难实现(周围有很多例子)。

真正乱七八糟的是如何构建控制器(item controller),以便一次性执行,创建新项目,以及共享操作(这意味着在关节表中设置参数,以及最终创建与我们共享的用户一样多的记录 - 数组?)

另一个问题,显然与控制器有关,将是视图......如何将所有这些放在一个表单中,并允许 current_user 只需单击按钮,然后执行项目创建 + 共享操作?

最后但并非最不重要的一点是,我需要如何处理 User 与 current_user 的模型相同的事实?

我真的不知道我需要阅读或查找什么才能让这个工作,我很想看到一些示例代码,但同时我很想真正理解这一切的逻辑,为了能够在其他场景中复制它。

请有人帮助我...如果不这样做,我就无法真正继续我的应用程序开发,这也是所有项目的关键部分。

非常感谢我收到的每一点帮助。

4

1 回答 1

0

好的,我已经解决了我所有的问题......最后这并不是一项艰巨的任务(当你解决问题时说起来总是很容易:))

我仍然存在的唯一疑问是 Rails 名称约定:

对于联合模型,使用共享之类的名称是否有可能导致rails不能很好地处理最终的-ing?

经过多次尝试尝试解决我的问题,我发现一切都设置正确,只需将联表名称从共享更改为共享,让魔术起作用!

于 2012-04-14T22:06:06.823 回答