0
我仍然是一個大的菜單,所以我希望有人可以幫助!HABTM手冊協會
我有兩個模型,公司和聯繫人與他們之間的HABTM。兩個都有適用於CRUD的控制器。例如,我希望能夠做的事情是在公司視圖頁面上,有一個鏈接現有聯繫人(可能是下拉列表)的表單,或創建一個新聯繫人並將其鏈接到公司。反之亦然。不知道這是可能的嗎?
我仍然是一個大的菜單,所以我希望有人可以幫助!HABTM手冊協會
我有兩個模型,公司和聯繫人與他們之間的HABTM。兩個都有適用於CRUD的控制器。例如,我希望能夠做的事情是在公司視圖頁面上,有一個鏈接現有聯繫人(可能是下拉列表)的表單,或創建一個新聯繫人並將其鏈接到公司。反之亦然。不知道這是可能的嗎?
如果我的問題是正確的,您希望在公司和聯繫人之間創建has_and_belongs_to_many關係。 所以在您的Company.rb添加
has_and_belongs_to_many :contacts
,並在您Contact.rb添加
has_and_belongs_to_many :companies
現在,這種關係建立一個具有兩個字段的COMPANY_ID「和 'CONTACT_ID'
新表companies_contacts在表演動作裏面公司負責
@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
未定義的方法'接觸爲#<#<類別:0xb44cc9e4>: 0xb0ce404> –
但我想要做的是在公司顯示頁面有一個聯繫人的下拉列表中選擇? –
編輯答案 <%=的form_for @contact,:URL => contacts_path(:COMPANY_ID => @ company.id)做| F |%> :網址應該是contacts_path而不是爲聯繫人拖放 –