我仍然是一个大菜鸟,所以我希望有人能提供帮助!
我有两个模型,Company 和 Contacts,它们之间有一个 HABTM。两者都有用于 CRUD 的控制器。例如,我希望能够在公司视图页面上使用表单链接现有联系人(可能是下拉列表)或创建新联系人并将其链接到公司。反之亦然。不确定这是否可能?
我仍然是一个大菜鸟,所以我希望有人能提供帮助!
我有两个模型,Company 和 Contacts,它们之间有一个 HABTM。两者都有用于 CRUD 的控制器。例如,我希望能够在公司视图页面上使用表单链接现有联系人(可能是下拉列表)或创建新联系人并将其链接到公司。反之亦然。不确定这是否可能?
如果我的问题是正确的,您想在公司和联系人之间创建 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