Modelos y formularios anidados

Estoy creando una aplicación que proporciona funcionalidad tanto para los consumidores como para las empresas. Al crear mis modelos, estoy pensando en tener usuarios (consumidores) y empresas ... donde cada empresa también tendría usuarios, pero los usuarios no necesariamente pertenecerían a una empresa. Para reducir la redundancia, recopilaría el nombre, correo electrónico, etc. en Usuario e información comercial específica (dirección, teléfono) en Negocio.

class Business < ActiveRecord::Base
   belongs_to :user  
end

class User < ActiveRecord::Base
 has_one :business #only if business user, not consumer
end

¿Es esta la forma correcta de configurar la relación deseada?

Entonces, cuando llegue el momento del registro de la empresa, ¿es posible (y cómo) tener formularios anidados en los que mi objeto comercial sea el primero, luego el usuario ... así que estoy recopilando información en ese orden? Todos los ejemplos / información que he encontrado muestran la configuración con la información del usuario capturada primero, luego cualquier submodelo.

En mi siguiente ejemplo, esto sería correcto:

<%= form_for(@business) do |f| %>
  #grab business info
<%= f.fields_for :user do |ff| %>
 #grab user info

Gracias por su tiempo y ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta