Rails – 单个表单上多个模型的用户输入 – 如何
这基本上是一个嵌套的表单问题,尽管只有一个属于父模型的字段。 我的数据输入表单收集模型的数据 – 但是我还需要收集一个实际进入将使用详细记录创建的父记录的数据元素/值(UserID)。
AFAIK Rails希望每个表单字段都映射到一个模型,我需要创建一个我将单独使用的未绑定数据输入字段。
如何覆盖此默认行为并创建“自由格式/未绑定字段”?
TIA,BC
inheritance我自己的应用程序:
访问它:
params[:company] and params[:user]
控制器:
@company = Company.new @user = User.new
视图:
<% form_for @company, :url => companies_path do |f| %> <%= f.error_messages %> <%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :website %>
<%= f.text_field :website %>
<% fields_for @user do |u| %> <%= u.label :email %>
<%= u.text_field :email %>
<%= u.label :username %>
<%= u.text_field :username %>
<%= u.label :password %>
<%= u.password_field :password %>
<%= u.label :password_confirmation %>
<%= u.password_field :password_confirmation %>
<% end %> <%= f.submit "Submit" %>
<% end %>
对于“魔术”forms<=>使用模型映射form_for
。 ( http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html )
如果您需要现有模型之外的东西,请尝试使用http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html
有了它,你可以添加与模型分开的标签,例如
radio_button_tag
在form_for
块内