多くのトランザクションを持つことができるユーザーモデルがあります。トランザクションは、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を試しましたが、エラーが表示されます。何がうまくいかなかったのでしょうか?