1

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

4

0 に答える 0