Ruby on rails 3 有很多:通过联想

Ruby on rails 3 有很多:通过联想,ruby-on-rails-3,orm,relational-database,has-many,has-many-through,Ruby On Rails 3,Orm,Relational Database,Has Many,Has Many Through,我使用has_many与三个模型建立了关系:通过: 为了创建课程和空缺,我通过管理创建它们,我需要知道如何创建空缺id的兴趣,以及如何将其登录到系统中我必须获得它的id,并在创建新的银行兴趣时建立关系。我想知道如何对其进行编程,我想知道控制器将如何获得创建操作,以及有什么更好的方法来执行此操作。我想这就是您想要的: 这是使用Has的最好方法,它属于许多关联。首先,试着阅读全文,特别是关于Has\u many:到的部分。然后检查您的模式,如果您的数据库已迁移,并且表中包含课程和空缺的必要外键,称为

我使用has_many与三个模型建立了关系:通过:


为了创建课程和空缺,我通过管理创建它们,我需要知道如何创建空缺id的兴趣,以及如何将其登录到系统中我必须获得它的id,并在创建新的银行兴趣时建立关系。我想知道如何对其进行编程,我想知道控制器将如何获得创建操作,以及有什么更好的方法来执行此操作。

我想这就是您想要的:


这是使用Has的最好方法,它属于许多关联。

首先,试着阅读全文,特别是关于Has\u many:到的部分。然后检查您的模式,如果您的数据库已迁移,并且表中包含课程和空缺的必要外键,称为课程id和空缺id

如果这一切就绪,以下代码将创建两个对象之间的关系:

@curr = Curriculum.find(1)
@vac = Vacancy.find(1)
@curr.interests << @vac
@curr.save
最后两行在@curr和@vac之间创建一个兴趣,并将其存储在数据库中。因此,您不应该使用ID并直接处理它们,而应该使用对象

现在的第二部分是提供一个UI,允许定义和删除课程和空缺之间的兴趣。这里的基本流程是:

你有一个重点课程。 您有一个添加/删除课程的链接。 打开的视图显示可能的空缺列表,其中每个空缺都有一个复选框。 通过选择或取消选择复选框,空缺的ID将保存在发送给控制器的请求参数中。 请参阅较旧的播客,了解如何在类似的上下文中实现这一点。或者参见示例以了解更多信息


另一种方法是使用JQuery自动完成,并逐个添加so兴趣。请看使用JQuery Tokeninput的漂亮播客。

我忘了在上面发表评论,但我是Ruby on rails的新手,请排除一些错误。我如何在单击它时制作一个按钮以产生新的兴趣???
@curr = Curriculum.find(1)
@vac = Vacancy.find(1)
@curr.interests << @vac
@curr.save