レールにformtasticとの関連からのフィールドを使用して(にhas_many)モデル

StackOverflow https://stackoverflow.com/questions/2195534

質問

私はここに私の問題だ...検索してみました多くのことを、私はしたいと私はそれを達成することはできません。

class Moving < ActiveRecord::Base
  has_many :movingresources, :dependent => :destroy
  has_many :resources, :through => :movingresources
end

class Movingresource < ActiveRecord::Base
  belongs_to :moving
  belongs_to :resource
end

class Resource < ActiveRecord::Base
  has_many :movingresources
  has_many :movings, :through => :movingresources
end

Movingresourcesquantityのような追加のフィールドが含まれています。私たちは、「法案」の見解に取り組んでいます。 formtasticのおかげだけで書き込むことによって、全体の関係のことを簡単にするために、

<%= form.input :workers, :as => :check_boxes %>

と私は本当の素敵なチェックボックスのリストを取得します。しかし、私がこれまでに判明していないことである。そのモデルからどのようにi「はmovingresource」から追加フィールドを使用することができ、次の各チェックボックスの下の私の目的のフィールド

? form.inputs部分にするため、またはではない:

Iは主に手動でオブジェクトの配列をループして、適切なフォームを作成、使用して、異なるアプローチを見ました。しかし、これらのソリューションのどれもきれいではなかった(必要なオブジェクトを構築または生成し、それらを生成していなかったので、例えば混乱を引き起こした編集ビューのためではなく、新しいのために働いていた)。

私はこのためにあなたの解決策を知りたい!

役に立ちましたか?

解決

さて、私はaccepts_nested_attributes_forの革命を逃し、それは本当に働いていない理由は、これは説明します。

これは私を得、さらに大きな一歩が、私は、私はまだ私の複雑な関係を持ついくつかの合併症を持つことになりますどこかと思います^ _ ^

class Moving < ActiveRecord::Base
    has_many :movingworkers, :dependent => :destroy
    has_many :workers, :through => :movingworkers
    accepts_nested_attributes_for :movingworkers
end


<% form.inputs :for => :movingworkers do |movingworker| %>
    <%= movingworker.inputs :worker, :quantity %>
<% end %>

他のヒント

Formtastic者:label_methodオプションのかもしれないのヘルプ。例えばます。

<%= form.input :movingworkers, :label_method => :worker %>

または

<%= form.input :movingworkers, :label_method => Proc.new { |x| "#{x.worker} #{x.quantity}" } %>
フィールドが新しいビューに存在しない場合は、

、あなただけのテストすることができますが、缶に部分的にラップしている場合は、新しい(の new_record?の)とフィールドの異なるセットを(存在する場合)非常にきれいなアプローチである。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top