사용자 및 회사가 has_one 회사 및 회사가 사용자에게 속한 사용자 및 회사 모델이 있습니다. 회사 테이블을 등록 양식에서 회사 테이블로 저장하려고했습니다. 여기서 회사 테이블 열은 user_id 및 company_name입니다. 나는이등록 양식의 중첩 된 속성
<h2>Sign up</h2>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<p><%= f.label :firstname %><br/>
<%= f.text_field :firstname %></p>
<p><%= f.label :lastname %><br/>
<%= f.text_field :lastname %></p>
<p><%= f.label :email %><br/>
<%= f.email_field :email %></p>
<p><%= f.label :password %><br/>
<%= f.password_field :password %></p>
<p><%= f.label :password_confirmation %><br/>
<%= f.password_field :password_confirmation %></p>
<%= fields_for :company do |builder| %>
<%= builder.label :company %>
<td><%= builder.text_field :company_name%> </td>
<% end %>
<p><%= f.submit "Sign up" %></p>
<% end %>
<%= render :partial => "devise/shared/links" %>
는이 회사 테이블의 USER_ID에 대한 숨겨진 필드이 필요하다처럼 내 User.rb
has_one :company, :class_name => 'Company', :foreign_key => :user_id, :dependent => :destroy
accepts_nested_attributes_for :company
에서이 작업을 수행 그리고 내 등록 양식 보이는 다음을하거나 얻을 것이다 사용 자동으로 추가, 나는 또한 그것이 작동하지만 등록자 오류 메시지가 작동하지 않는 등록 컨트롤러의 작성 방법을 무시하려했습니다. 누구든지이 일에서 나를 도울 수 있습니까? 나는 내가 놓친 것을 모른다. 미리 감사드립니다.
alony 회사 모델을위한 별도의 컨트롤러가 있어야합니다. 지금까지는 하나도 만들지 않았습니다. 사용자 등록을 위해 devise를 사용하고 있으며 필자의 시각에서 fields_for를 만들었습니다. –
아니요, 확실히 아닙니다. 사실 콜백의 User 모델에서 이것을 할 수 있습니다 : 'def after_initialize {| record | record.company.buy 인 경우 record.company.build? }' – alony
감사의 말을 내가 실수 한 것은 사용자의 attr_accessible에서 company_attributes를 설정하지 않았다는 것입니다. 늦은 답변 죄송합니다 –