Я новичок в Rails и у меня есть проблемы с созданием вложенной формы.
Мои модели:
class User < ActiveRecord::Base
belongs_to :company
accepts_nested_attributes_for :company, :reject_if => :all_blank
end
class Company < ActiveRecord::Base
has_many :users
end
Теперь я хотел бы создать новую компанию со страницы регистрации пользователей (я использую Devise, кстати), указав только название компании.И иметь связь между новым пользователем и новой компанией.
В консоли я могу создать компанию для существующего пользователя, например:
@company = User.first.build_company(:name => "name of company")
@company.save
Это работает, но я не могусделать это для нового пользователя.В моей новой форме регистрации пользователя я попробовал это (я знаю, что неправильно, сначала создав нового пользователя, но я пытаюсь заставить что-то работать здесь.)
<%= simple_form_for(resource, :as => resource_name, :html => { :class => 'form-horizontal' }, :url => registration_path(resource_name)) do |f| %>
<%= f.error_notification %>
<div class="inputs">
<%
@user = User.new
company = @user.build_company()
%>
<% f.fields_for company do |builder| %>
<%= builder.input :name, :required => true, :autofocus => true %>
<% end %>
<%= f.input :email, :required => true, :autofocus => true %>
<%= f.input :password, :required => true %>
<%= f.input :password_confirmation, :required => true %>
</div>
<div class="form-actions">
<%= f.button :submit, :class => 'btn-primary', :value => 'Sign up' %>
</div>
Я приложил все усилия к Google для решения/ пример.Я нашел несколько примеров вложенных форм, но мне просто не понятно, как это сделать.