我使用以下集合select來讓用戶選擇聯繫人姓名。使用集合從聯繫人ID中檢索聯繫人詳細信息選擇
而不是名稱<div class="form-group">
<%= f.label :contact %>
<%= f.collection_select(:contact, current_user.contacts.all, :id, :name, prompt: true, class: "form-control") %>
</div>
但是,這是當我在顯示頁面使用email.contact
時顯示的ID。我嘗試使用email.contact.name,它返回一個NoMethodError。至於關聯,電子郵件has_many聯繫人和聯繫人belongs_to電子郵件。我甚至嘗試使用這些關聯的inverse_of,但仍無法檢索聯繫人姓名。有沒有可以解決這個問題的解決方法?
你能解釋一下你的'但是,而不是名字,它的意思是什麼,當我在表演page'使用email.contact在顯示的ID?它與collection_select有什麼關係?電子郵件有很多聯繫人,所以它應該是email.contacts,它會給你一個記錄集合,而不是單個記錄 – Mandeep 2014-10-05 18:31:44
@mandeep下拉菜單顯示所有聯繫人的名稱。但是,當提交按鈕被擊中時,這是保存的ID。例如,如果選擇John,John的用戶標識將被保存而不是名稱。在我正在使用的collection_select中,它看起來像是默認保存了id。不確定,如何在此場景中顯示來自存儲的用戶標識的聯繫人姓名。 – user3224820 2014-10-05 18:43:19