首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

HABTM手册
EN

Stack Overflow用户
提问于 2013-10-08 10:02:12
回答 1查看 45关注 0票数 0

我仍然是一个大菜鸟,所以我希望有人能帮忙!

我有两种型号,公司和与HABTM之间的联系。这两家公司都配备了CRUD控制器。例如,我想要做的是,在“公司”视图页面上,有一个表单来链接一个现有的联系人(可能是下拉列表),或者创建一个新的联系人并将其链接到公司。反之亦然。不确定这是否有可能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-08 10:39:11

如果我的问题是正确的,你想要在公司和联系人之间建立一个has_and_belongs_to_many关系。所以在你的Company.rb添加

代码语言:javascript
运行
复制
has_and_belongs_to_many :contacts

在您的Contact.rb中添加

代码语言:javascript
运行
复制
has_and_belongs_to_many :companies

现在,对于这种关系,创建一个新的表companies_contacts,其中包含两个字段“company_id”和“contact_id”

在公司内部控制器中显示动作

代码语言:javascript
运行
复制
@contact = Contact.new

在公司展示页面中添加以下内容:-

代码语言:javascript
运行
复制
<%= form_for @contact,:url => contacts_path(:company_id=> @company.id) do |f|%>
  <%=f.label :name%>
  <%=f.text_field :name%>
  <%=f.button :submit%>
<%end%>

现在在联系人控制器中创建操作,这样做:-

代码语言:javascript
运行
复制
@contact = Contact.find_or_create_by_name(params[:contact][:name])
@contact.companies= Company.where(:id => params[:company_id])
@contact.save
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19244675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档