0

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

我有两个模型,Company 和 Contacts,它们之间有一个 HABTM。两者都有用于 CRUD 的控制器。例如,我希望能够在公司视图页面上使用表单链接现有联系人(可能是下拉列表)或创建新联系人并将其链接到公司。反之亦然。不确定这是否可能?

4

1 回答 1

1

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

has_and_belongs_to_many :contacts

并在您的 Contact.rb 添加

has_and_belongs_to_many :companies

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

在公司控制器里面显示动作

@contact = Contact.new

在公司的展示页面中添加:-

<%= form_for @contact,:url => contacts_path(:company_id=> @company.id) do |f|%>
  <%=f.label :name%>
  <%=f.text_field :name%>
  <%=f.button :submit%>
<%end%>

现在在联系人控制器中创建操作,如下所示:-

@contact = Contact.find_or_create_by_name(params[:contact][:name])
@contact.companies= Company.where(:id => params[:company_id])
@contact.save
于 2013-10-08T10:39:11.257 回答