2

フォーム内の複数の埋め込みオブジェクトを管理する方法を探しています。

bowsersenior が formtastic の解決策を見つけました

Mongoid embedded_in リレーションを使用した Formtastic

しかし、私はsimple_formに対して同じことをすることができませんでした

形式:

= semantic_form_for @team do |form|
  = @team.players.each do |player|
    = form.inputs :for => [:players, player] do |player_form|
      = player_form.input :name

よろしくお願いします

サンプル

class Team
  include Mongoid::Document
  field :name, :type => String
  embeds_many :players
end

class Player
  include Mongoid::Document
  embedded_in :team, :inverse_of => :players
  field :name, :type => String
  field :active, :type=> Boolean # checkboxes
end
4

1 に答える 1

3

これが機能するかどうかはわかりませんが、次のようなことを試してみてください。

= simple_form_for @team do |form|
  = f.input :name
  = f.simple_fields_for @team.players do |player_form|
    = player_form.input :name

フォームが表示される前に、チームに新しいプレーヤーを作成する必要があることに注意してください。あなたのコントローラー(コントローラー)で:

def new
  @team = Team.new
  8.times { @team.players.new } #for 8 players
end
于 2011-05-19T02:21:46.160 に答える