I want to save data from User(parent model) when creating/editing a Shop (child model).
My models:
My Shop controller:
Shop page:
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 ?
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:
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:
<% form_for @shop, :html => {:multipart => true} do |f| %> <%- f.fields_for :user do |user| %> <%= user.text_field :name, :live => true %> <% end -%> <% end -%>
My case is inverse.
Q: How can I save User data when submitting on Shop form ?