2011-10-25 46 views
0

我有以下結構,我試圖創建至少1個地址(與積極驗證)的設計用戶註冊。用戶在沒有驗證地址的情況下保存得很好,儘管它是有效的,但它被丟棄。我已經測試並確認可以訪問:地址並通過控制檯通過user.addresses << Address.new(...)添加它們,但不通過表單。我不確定這裏發生了什麼事。我如何接受嵌套模型是:通過has_many與Devise在Rails 3

任何想法?任何/所有的幫助將不勝感激 - 謝謝!

模型/ user.rb

class User < ActiveRecord::Base 
    has_many :user_addresses 
    has_many :addresses, :through => :user_addresses 
    ... 
    attr_accessible ..., :addresses 
    accepts_nested_attributes_for :addresses 
end 

模型/ user_addresses.rb

class UserAddress < ActiveRecord::Base 
    belongs_to :address 
    belongs_to :user 
end 

視圖/註冊/ new.html.haml

- resource.addresses.build if resource.addresses.empty? 
= semantic_form_for resource, :as=> resource_name, :url => registration_path(resource_name) do |f| 
    = devise_error_messages! 
    ... 
    = f.inputs :name => "Addresses", :id=> "addresses" do 
    = f.semantic_fields_for :addresses do |a| 
     ... 

回答

1

我會嘗試兩件事:

  1. 檢查您的日誌,看看是否存在無法集體分配屬性的警告。
  2. 地址:addresses_attributes您attr_accessible
+0

啊哈,感謝的人!我不能相信我錯過了原木,呃。 – Chance

+0

它甚至驗證 - 再次感謝:D – Chance

相關問題