0

プロジェクトの組織を 1 つ以上選択できるチェックボックスのリストがあります。これは、関連付けを通じて多くの機能を備えています。

Add Otherしかし、ユーザーが新しい組織を作成してプロジェクトに自動的に割り当てることもできるように、テキスト フィールドを追加したいと考えています。

project.rb

has_many :organizationables
has_many :organizations, through: :organizationables
attr_accessible :organization_ids

組織.rb

attr_accessible :name, :website
has_many :organizationables
has_many :projects, through: :organizationable

組織化可能.rb

attr_accessible :organization_id, :project_id
belongs_to :organization
belongs_to :project

「organizationables」という協会の変な名前なのはわかっていますが、まあまあ。フォームをセットアップするためにさまざまな方法を試しましたが、機能させることができません。

NEW PROJECT FORM には、組織をプロジェクトに割り当てることができるチェックボックスがあるはずですが、Other Organizationテキスト フィールドもあります (これにより、新しい組織が作成され、プロジェクトに割り当てられます)。

4

1 に答える 1

0

1 つのアクションで新しい組織を作成し、既存のプロジェクトに関連付けると仮定すると、最も簡単な方法は次のとおりです。

new_organization.save!
project.organizations << new_organization

これにより、プロジェクトを新しい組織にリンクする組織化可能なレコードが作成および保存されます。

アップデート:

最初に新しいプロジェクトを保存します。次に、チェックした一連の組織を設定します。組織を作成した場合は、それを保存して配列に追加します。次に、組織のリストをプロジェクトに一気に関連付けます。

project.organizations = my_list_of_checked_organizations

同様の例については、 http: //guides.rubyonrails.org/association_basics.html#the-has_many-through-associationを参照してください。

于 2013-04-16T22:29:48.213 に答える