【发布时间】:2025-12-25 13:35:07
【问题描述】:
我有以下结构,我正在尝试在注册设计用户时创建至少 1 个地址(具有有效验证)。用户在没有验证地址的情况下被很好地保存,尽管它是有效的,但它被丢弃了。我已经测试并确认我可以访问 :addresses 并通过控制台通过user.addresses << Address.new(...) 添加它们,但不能通过表单。我不确定这里发生了什么。
有什么想法吗?任何/所有帮助将不胜感激 - 谢谢!
models/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
models/user_addresses.rb
class UserAddress < ActiveRecord::Base
belongs_to :address
belongs_to :user
end
views/registration/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|
...
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 devise formtastic