I want to save data from User(parent model) when creating/editing a Shop (child model).
My models: [code] class User < ActiveRecord::Base has_one :shop, :dependent => :destroy end
class Shop < ActiveRecord::Base belongs_to :user accepts_nested_attributes_for :user #!!!!!!!!!!!! end [/code] My Shop controller: [code] class ShopsController < ApplicationController def new @shop = Shop.new #@shop.user = current_user @shop.build_user end end
def create @shop = Shop.new(params[:shop])
@shop.user = current_user respond_to do |format| if @shop.save flash[:notice] = t(:shop_created) format.html { redirect_to(@shop) } format.xml { render :xml => @shop, :status => :created, :location => @shop } else format.html { render :action => "new" } format.xml { render :xml => @shop.errors, :status => :unprocessable_entity } end end
end [/code] Shop page: [code] <% form_for @shop, :html => {:multipart => true} do |f| %> <%- f.fields_for :user do |user| %> <%= user.text_field :name, :live => true %> <% end -%> <% end -%> [/code]
All examples that I found about saving associated models are when saving from User (parent) N children ( my Shop model). In those cases I understand where define accepts_nested_attributes_for.
My case is inverse.
Q: How can I save User data when submitting on Shop form ?