0

私のアプリでは、ユーザーはトーナメントに関する情報を登録できます。ユーザーが有料の顧客である場合、追加情報を入力できます。それ以外の場合、追加情報のフィールドは使用できません (表示されますが無効になります)。

私はこれを 2 つのオブジェクトとしてレイアウトしました: Tournamentand TournamentExtraswhere the 前者has_one :tournament_extrasと後者belongs_to :tournamentTournamentまたaccepts_nested_attributes_for :tournament_extras

これをひとつの形として見せたい。2 つのオブジェクトのフィールドは関連しています。つまり、開始日 ( までTournament) を追加できますが、有料の顧客のみが終了日 ( までTournamentExtras) を追加できますが、2 つのフィールドは論理的に関連付けられているため、フォームに次々と表示されます。

どうすればいいですか?

form_for好きな場所に任意のフィールドを追加できることを期待して、(フィールドを追加する前に) 相互にandfields_forループを開こうとしました。それはうまくいきませんでした。明らかに、フィールド ループ内でフォーム オブジェクトを参照することはできません (?)。

4

1 に答える 1

1

form_form と fields_for は互いに連携する必要があります。

このための骨組みは次のとおりです。

form_for(@tournament) do |f|
  f.fields_for(@tournament.tournament_extra) do |g|
  end
end 
于 2012-01-07T11:24:27.877 に答える