I want to save data from User(parent model) when creating/editing a Shop
(child model).
My models:
class User < ActiveRecord::Base
has_one :shop, :dependent => :destroy
end
class Shop < ActiveRecord::Base
belongs_to :user
accepts_nested_attributes_for :user #!!!!!!!!!!!!
end
My Shop controller:
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
Shop page:
<% form_for @shop, :html => {:multipart => true} do |f| %>
<%- f.fields_for :user do |user| %>
<%= user.text_field :name, :live => true %>
<% end -%>
<% end -%>
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 ?