0

私は、Estates が Revenue を持ち、Estates が Expense を持つような 2 つのネストされたフォームを持っています。現在のフォーム署名は、経費 " <%= form_for [@estate,@expense] do |f| %>" と収益 " " のように見え<%= form_for [@estate,@revenue] do |f| %>ます。これらの私のルートは

resources :estates do

    resources :revenues

    resources :expenses

    resources :net_profits

  end

これらの両方のフォームで、1 つの新規ボタンと 1 つの送信ボタンをクリックすると、同じページで収益と費用のフォームを開くことができますか?

4

1 に答える 1

0

まず、モデルEstateに次 のものが必要です。

accepts_nested_attributes_for :revenue
accepts_nested_attributes_for :expense

form_for次に、次のように生成できます。

= form_for(@estate, :url => {:action=>'update'}) do |f|
  = f.fields_for :revenue do |r|
    # revenue fields here, for example:
    = r.text_field :name
  = f.fields_for :expense do |e|
    # expense fields here, for example:
    = e.text_field :name

これは、HAMLマークアップとオブジェクトの更新の例です。ただし、オブジェクト生成 (作成) のために変更することはできます。

于 2013-06-17T13:51:01.267 に答える