私はRails開発が初めてです。私は2つのモデルDecision and Choiceを持っています。すべての決定には2つの選択肢があり、決定が保存されるときに選択肢表に追加する必要があります。私はFormtasticを使ってRailsでこれを行う方法を理解しようとしていますが、私は壁に衝突しました。Rails 3のフォームで複数のモデルを使用するにはどうすればよいですか?
私はRailscastをネストしたフォームについて見て、Formtastic GitHubサイトのドキュメントに従っていましたが、私は迷っています。ここに私が持っているものがあります。
モデル:Decisions_Controllerで
class Decision < ActiveRecord::Base
attr_accessible :title, :description, :user_id, :choices_attributes
belongs_to :user
has_many :choices, :dependent => :destroy
accepts_nested_attributes_for :choices
end
class Choice < ActiveRecord::Base
belongs_to :decision
end
:
def new
@decision = Decision.new
2.times do
@decision.choices.build
end
end
決定/新しいビュー:
<% semantic_form_for @decision do |form| %>
<%= form.inputs :title, :description %>
<%= form.inputs :summary, :for => :choice %>
<%= form.buttons %>
<% end %>
は、私は何を取得するタイトル、説明のためのフォームフィールドで、 1つの要約(選択のため)。 2番目の選択肢を表示して両方のフィールドを保存するにはどうすればよいですか?
@ decision.choicesでループするのはどうですか? @ decision.choices.eachのようなもの| choice | form.inputs:要約など – corroded
このアプローチを使用すると、選択肢は送信時に保存されません。 –
コントローラには何がありますか? – corroded