我有一个可以有很多交易的用户模型。事务可以是type1,type2或type3,每种类型都有不同的属性集。例如:type1包含属性a,b和c;而type2包含属性a,c,d和e。用户,交易和类型模型定义如下:
class User < AR::Base
has_many :transactions
end
class Transaction < AR::Base
belongs_to :user
belongs_to :transactionable, polymorphic: true
end
class Type1 < AR::Base
has_many :transactions, as: :transactionable
end
class Type2 < AR::Base
has_many :transactions, as: :transactionable
end
class Type3 < AR::Base
has_many :transactions, as: :transactionable
end
现在,在生成html表单时,我有
/app/views/user/new.html.erb
<%= form_for @user do |f| %>
***
<% end %>
/app/views/user/show.html.erb
<%= form_for ... do |f| %>
<%= f.text_field: a %>
<%= f.text_field: b %>
<%= f.text_field: c %>
<% end %>
在后面的form_for帮助器中,我想收集type1模型属性的用户输入数据。任何人都可以在后面的form_for帮助器中帮助应该进行什么操作?我试过@ user.transactions.build_type1,但它显示错误。知道什么可能出错吗?