伙计们我对这个问题变得十分坚定......并且根本无法弄清楚所有这些麻烦是如何产生的。 我真的需要一个神圣的帮助,或至少一些关于这个问题的教程和指南的建议。
我相信这在很多应用程序中都是一个非常常见的任务,但我找不到任何帮助,在这个意义上,不是在stackoverflow上,不是在google上,而是在我知道的其他rails论坛上......我开始觉得自己像个笨蛋!
问题
(1)模型(涉及的模型)
User.rb Item.rb(嵌套在用户中:例如user / 3 / item / 5)
(2)我想做什么
current_user(已登录的用户)可以创建一个Item,并且可以决定与其他许多用户共享或不共享。
通过这种方式,对于我们与之共享的用户,该项目也是可见的,也可以访问。
我知道这里涉及的是:
(a)has_many:通过项目和用户之间的关系 (b)我们可以调用共享的联合表(使用item_id和user_id) (c)最终为用户使用不同的名称,并使用:class_name指向用户
这并不难实现(周围有很多例子)。
实际上,混乱是如何构建控制器(项目控制器),以便一次性执行,创建新项目以及共享操作(这意味着在关节中设置参数)表,并最终创建与我们共享的许多用户一样多的记录 - array?)
另一个显然与控制器有关的问题是视图...如何将所有这些放在一个表单中,并允许current_user只需单击按钮,然后执行项目创建+共享操作
最后,但并非最不重要的是,我需要如何处理User与current_user相同的模型?
我真的不知道我需要阅读或查找以便让它工作,我很乐意看到一些示例代码,但与此同时我很想真正理解所有这些中的逻辑,以便能够在其他场景中复制它。
请有人帮助我......如果没有这样做,我就无法在我的应用程序开发中继续前进,这也是所有项目的关键部分。
非常感谢我将获得的每一点帮助。
答案 0 :(得分:0)
好的,我已经解决了所有问题......最后这不是一项艰巨的任务(当你解决问题时总是很容易说:))
我唯一怀疑的是使用rails名称约定:
对于联合模型,使用像共享这样的名称可能会导致最终处理没有得到很好的处理吗?
为了解决我的问题而进行了许多尝试之后,我发现所有内容都已正确设置,并且只是将联合表名称从共享更改为共享,让魔法工作!!!