0

他のいくつかのテーブルと関係があるテーブルに表示する必要があるフォームがあります。たとえば、私はテーブル「ケース」(調査官のケースと考えてください) を持っています。

ケースデータ、クライアントデータ、請求者データを入力するフィールドをフォームに表示したいと思います。これを行う簡単な方法はありますか?送信時に次のように簡単になります:

case = Case.new(params[:case])
case.save

ケースデータのみのフォームを送信して保存しただけの場合はどうなりますか?

4

3 に答える 3

0

case.saveと呼ぶだけでうまくいく方法はないと思います。

フォームを作成するには、fields_forの使用を検討してください。http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#M001605

fields_forを使用すると、さまざまなPOST変数に格納されているフィールドを追加できるため、フィールドを正しく設定すると、新しいメソッドで次のようなことができる可能性があります。

claimant = Claimant.new(params[:claimant])
claimant.save

これはそれほど複雑ではありません。

于 2009-08-05T19:09:49.353 に答える
0

ネストされたマルチモデル フォームの作成に関する私のcomplex-form-examplesを参照してください。これは、Rails 2.3 で動作するように更新されましたaccepts_nested_attributes_for

必要に応じて、関連付けをすべて下にネストできますparams[:case]。呼び出すとcase.save、他のすべても保存されます。

于 2009-08-05T20:25:41.650 に答える
0

accepts_nested_attributes_forあなたはアクティブレコードのメソッドを探しているようです。を使用してフォームを作成する必要があります

- form.fields_for :claimant do |claimant_form|
  = claimant_form.text_field :name

詳細については、 Ryan Daigle のブログ投稿をご覧ください。

于 2009-08-05T19:57:11.503 に答える