0
我試圖做一個註冊表單,您可以同時創建一個用戶和一個公司。我有一個用戶表和一個公司表。公司和用戶以一種形式創建
用戶模型
belongs_to :companies
accepts_nested_attributes_for :companies
公司模型
has_many :users
用戶控制器
def new
@users = User.new
@companies = Company.new
end
def create
@companies = Company.create(company_params)
@users = @companies.user.create(user_params)
@users.save
redirect_to :back
end
private
def user_params
params.require(:user).permit(:name)
end
def company_params
params.require(:user).permit(:name)
end
路線
resources :users
resources :companies
new.html.erb
<%= form_for(@users) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.fields_for @companies do |build| %>
<%= build.text_field :name %>
<% end %>
<%= f.submit %>
<% end %>
所以這個創建公司,並在同一時間的用戶。但是我想給用戶分配一個company_id,它屬於他們剛創建的公司。我的用戶表中有company_id字段。有任何想法嗎?
UPDATE
def create
@companies = Company.create(company_params)
c = Company.last
@users = c.users.create(user_params)
@users.save
redirect_to :back
end
我這樣做是添加到用戶控制器在它的工作原理,但它並不似乎是最好的解決辦法。如果我錯了,請糾正我。
在此先感謝