我有以下结构,我正在尝试在设备注册时创建至少1个地址(带有活动验证)。用户在没有验证地址的情况下被保存得很好,尽管它是有效的,但它被丢弃了。我已经测试并确认我可以访问:地址并通过控制台通过user.addresses << Address.new(...)
添加它们,但不能通过表单添加。我不确定这里发生了什么。
有什么想法吗?任何/所有帮助将不胜感激 - 谢谢!
模型/ 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|
...
答案 0 :(得分:1)
我会尝试两件事: