私は広範囲に検索し、解決できる解決策が見つからないので、ここに投稿することにしました。同時に2つのモデルを作成する
誰かがAUTに私が必要とする新しいユーザーアカウントを作成すると、私は2つのモデル
ストア
class Store < ActiveRecord::Base
attr_accessible :storeimage, :storename
belongs_to :user
validates :user_id, :presence => true
end
と
ユーザー
class User < ActiveRecord::Base
attr_accessible :first_name, :last_name, :email, :password, :password_confirmation, :userimage, :remove_userimage
has_secure_password
has_many :gears
has_many :comments, :dependent => :destroy
has_one :store, :dependent => :destroy
before_save :create_remember_token
require 'carrierwave/orm/activerecord'
mount_uploader :userimage, UserpicUploader
accepts_nested_attributes_for :store
...
end
を持っています私はユーザーフォーム内で考えていたそのユーザー用の新しいストアを静的に作成します。では、作成する新しいユーザーにリンクされた新しいストアオブジェクトを作成するにはどうすればよいですか?ここで
はCreateActionのため ユーザコントローラからの私のコードdef create
@user = User.new(params[:user])
if @user.save
sign_in @user
redirect_to @user, :flash => {:success => "Welcome to Equiptme"}
else
render 'new'
@title = "Sign up"
end
end
ビュー
<div class="signup_container">
<div class="signup_container_interior">
<%= provide(:title, 'Sign up') %>
<%= form_for(@user) do |f| %>
<% if @user.errors.any? %>
<div>
<div>
The form contains <%= pluralize(@user.errors.count, "error") %>.
</div>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li>* <%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="register_field">
<div class="register_nonerror_container">
<%= f.label :first_name %> <%= f.text_field :first_name, class: 'register_text_area' %>
</div>
</div>
<div class="register_field">
<div class="register_nonerror_container">
<%= f.label :last_name %> <%= f.text_field :last_name, class: 'register_text_area' %>
</div>
</div>
<div class="register_field">
<div class="register_nonerror_container">
<%= f.label :email %> <%= f.text_field :email, class: 'register_text_area' %>
</div>
</div>
<!--************STORE FIELDS ************** -->
<!--************STORE FIELDS END ************** -->
<div class="register_field">
<div class="register_nonerror_container">
<%= f.label :password %> <%= f.password_field :password, class: 'register_text_area' %>
</div>
</div>
<div class="register_field">
<div class="register_nonerror_container">
<%= f.label :password_confirmation %> <%= f.password_field :password_confirmation, class: 'register_text_area' %>
</div>
</div>
<div class="actions">
<%= f.submit "Create Account", class: 'register_button' %>
</div>
<% end %>
</div>
</div>
どうして 'new_record? 'メソッドで' after_save'コールバックを使用していませんでしたか? – caulfield
[rails association docs]ページ(http://guides.rubyonrails.org/association_basics.html#has_one-association-reference)で検索しましたか? –