5

私の Rails アプリでは、 に属することができる (ただし、そうである必要はありません)Users多くのものを持つことができます。PeopleOrganisations

要するに、これは:

Users --< People >-- Organisations

さて、どうにか人のビュー内から新しい組織を作成できるといいですね。これを試しました:

class Person < ActiveRecord::Base

  attr_accessible :name, :organisation_attributes

  belongs_to :user
  belongs_to :organisation

  accepts_nested_attributes_for :organisation

end

しかし、Organization は Person の子ではないため、機能しません。

これを実現する別の方法はありますか?

助けてくれてありがとう。

4

1 に答える 1

6

Personこれは実際にはの子でOrganisationあり、親モデルのネストされたフォームを作成することも可能であることがわかります。そして、あなたはすでにを使用していaccepts_nested_attributes_forます。

Organisationすでに保存されているのフォームを表示したいとしますperson。それで

あなたのPeopleController#show方法で組織を構築します

@person.build_organisation

そしてでpeople/show.html.erb

form_for(@person) do |f|
    f.fields_for(:organisation) do |fo|
        # show the fields of organisation here.
    end
end

動作するはずです。

アップデート:

私は似たようなことを試しましたが、うまくいきました:)スニペットを含む要点を作成しました。リンクhttps://gist.github.com/3841507をたどって、機能することを確認してください。

于 2012-10-05T16:02:06.117 に答える