Ruby on rails 同时创建两个模型

Ruby on rails 同时创建两个模型,ruby-on-rails,forms,model,Ruby On Rails,Forms,Model,好吧,我已经搜索了很多地方,但找不到一个可以解决问题的解决方案……所以我决定在这里发布 我有两种型号 商店 class Store < ActiveRecord::Base attr_accessible :storeimage, :storename belongs_to :user validates :user_id, :presence => true end 查看 <div class="signup_container"> <

好吧,我已经搜索了很多地方,但找不到一个可以解决问题的解决方案……所以我决定在这里发布

我有两种型号

商店

class Store < ActiveRecord::Base
  attr_accessible :storeimage, :storename
  belongs_to :user

  validates :user_id, :presence => true  
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 %>&nbsp;<%= f.text_field :first_name, class: 'register_text_area' %>
        </div>
      </div>
      <div class="register_field">
        <div class="register_nonerror_container">
            <%= f.label :last_name %>&nbsp;<%= f.text_field :last_name, class: 'register_text_area' %>
        </div>
      </div>
      <div class="register_field">
        <div class="register_nonerror_container">
            <%= f.label :email %>&nbsp;<%= 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 %>&nbsp;<%= f.password_field :password, class: 'register_text_area' %>
        </div>
      </div>
      <div class="register_field">
        <div class="register_nonerror_container">
            <%= f.label :password_confirmation %>&nbsp;<%= 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>

表单包含。
  • *
您可以使用随
创建的用户和商店之间的关系:

def create
  @user = User.new(params[:user])
  @user.build_store

  # etc
end
如果在保存用户之前不需要存储,也可以使用
create\u association

  if @user.save
    @user.create_store
    # etc
  end
您可以使用与用户和商店之间的
has_one
关系一起创建的:

def create
  @user = User.new(params[:user])
  @user.build_store

  # etc
end
如果在保存用户之前不需要存储,也可以使用
create\u association

  if @user.save
    @user.create_store
    # etc
  end

您可能需要查看以下内容:


您可能想看看这个:


为什么不使用
after\u save
callback with
new\u record?
方法?您在上搜索了吗?为什么不使用
after\u save
callback with
new\u record?
方法?您在上搜索了吗?我看到了这一集,但无法让它用于创建vs更新。无论如何,谢谢。我看过这一集,但我无法让它用于创建vs更新。无论如何,谢谢。我决定使用创建协会。如何传递参数,如:storename?就像调用create:
@user.create\u store(:storename=>'House of Pancakes')
谢谢..我想我理解了这一部分。我不确定如何在用户表单中传递Store参数。我已经发布了我的观点。我试图使用railscasts更新版的嵌套表单上发布的方法,但它不起作用。我决定使用create_关联。如何传递参数,如:storename?就像调用create:
@user.create\u store(:storename=>'House of Pancakes')
谢谢..我想我理解了这一部分。我不确定如何在用户表单中传递Store参数。我已经发布了我的观点。我试着使用railscasts更新版的嵌套表单上发布的方法,但它不起作用。