Relacja modeli:
:user has_one :card
:card belongs_to :user
Korzystam z devise’a i na swoje potrzeby nadpisałem nieco kontroller Devise::RegistrationsController < DeviseController
def build_resource(hash=nil)
hash ||= params[resource_name] || {}
self.resource = resource_class.new_with_session(hash, session)
self.build_card # dodane przeze mnie
end
Mój widok:
<%= simple_form_for(resource, :as => resource_name,
:url => registration_path(resource_name),:html => { :class => 'well' },
:defaults => { :input_html => { :class => 'input-medium' }, :label => false }) do |f| %>
...
<%= f.simple_fields_for(:card_attributes, :defaults => { :input_html => { :class => 'input-small' },
:label => false}) do |card| %>
...
<% end %>
<% end %>
Model User (usunąłem niektóre linijki, aby skupić się na najbardziej istotnych rzeczach):
[code]has_one :card, :dependent => :destroy, :validate => true
accepts_nested_attributes_for :card
attr_accessible :card_attributes, :gg,:country, :email, :name, :surname, :birthdate, :city, :street, :house, :flat, :zipcode, :recommendation, :password, :password_confirmation, :remember_me[/code]
Model Card:
[code] belongs_to :user
validates :nickname, :presence => true[/code]