ruby-on-rails - modelos - validaciones rails
Rails-Entrada de usuario para varios modelos en un solo formulario-Cómo (2)
Esta es básicamente una pregunta de forma anidada, aunque solo con un campo que pertenece a un modelo principal. Mi formulario de entrada de datos recopila datos para un modelo; sin embargo, también necesito recopilar otro elemento / valor de datos (UserID) que realmente ingresa en un registro principal que se creará con el registro detallado.
AFAIK Rails espera que cada campo de formulario se asigne a un modelo y necesito crear un campo de entrada de datos no enlazados que usaré por separado.
¿Cómo puedo anular este comportamiento predeterminado y crear un ''campo de forma libre / no enlazado''?
TIA, BC
Heres algo de mi propia aplicación:
Acceda a él por:
params[:company] and params[:user]
Controlador:
@company = Company.new
@user = User.new
Ver:
<% form_for @company, :url => companies_path do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.label :website %><br />
<%= f.text_field :website %>
</p>
<hr />
<% fields_for @user do |u| %>
<p>
<%= u.label :email %><br />
<%= u.text_field :email %>
</p>
<p>
<%= u.label :username %><br />
<%= u.text_field :username %>
</p>
<p>
<%= u.label :password %><br />
<%= u.password_field :password %>
</p>
<p>
<%= u.label :password_confirmation %><br />
<%= u.password_field :password_confirmation %>
</p>
<% end %>
<p>
<%= f.submit "Submit" %>
</p>
<% end %>
Para la forma "mágica" se utiliza el modelo <=> form_for
. ( http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html )
Si necesita algo fuera del modelo actual, intente usar http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html
Con eso puedes agregar etiquetas separadas del modelo, por ejemplo,
radio_button_tag
dentro del bloque form_for