我遇到的問題與嵌套形式,我相信應該很容易解決,但我找不到它周圍的Rails 2.3嵌套屬性問題
基本上我有以下關係的方式
event has_many :contacts => through :event_contacts
只要我每次創建新的聯繫人,嵌套窗體都可以正常工作。
如果我在下拉菜單中包含了一個允許選擇嵌套表單中的現有聯繫人的事件,則會創建一個事件,但contact_id在event_contacts表中爲零。
沒有接觸被創建,因爲我張貼的「ID」字段中嵌套的接觸。(即.new_record?返回false。)
那麼,如何更新event_contacts表,以確保「選擇'聯繫人是否正確關聯?
見下文snipbits ...
模式
class Event < ActiveRecord::Base
belongs_to :user
has_many :event_contacts
accepts_nested_attributes_for :event_contacts
has_many :contacts, :through => :event_contacts
accepts_nested_attributes_for :contacts
class EventContact < ActiveRecord::Base
belongs_to :event
belongs_to :contact
accepts_nested_attributes_for :contact
class Contact < ActiveRecord::Base
belongs_to :user
has_many :event _contacts
has_many :events, :through => :event_contacts
查看
- fields_for(@event) do |f|
- f.fields_for :event_contacts do |rc|
- rc.fields_for :contact do |c|
= c.collection_select :id, Contact.all, :id, :name, { :selected => @contact.id || 0 }
= c.hidden_field :user_id, :value => @current_user.id
= c.text_field :first_name
= c.text_field :email
你可以粘貼相關的代碼片段嗎? – khelll 2009-09-25 09:25:45
嗨已添加模型和查看代碼以概述我在做什麼 – Dom 2009-09-25 15:20:30