私はhas_manyを実装しようとしています:Rails 3(Formtasticを使用)でjoinを使用していて、ちょっと固まってしまいました。Rails 3 has_many:throughフォームのドロップダウンメニュー?
:それは従業員が選択されることを可能にするビュー
class Project < ActiveRecord::Base
has_many :employees, :through => :teams
has_many :teams
class Employee < ActiveRecord::Base
has_many :projects, :through => :teams
has_many :teams
class Team < ActiveRecord::Base
belongs_to :project
belongs_to :employee
そして、この行は私のプロジェクトで複数選択ボックスを与える:
モデルを次のように私は、セットアップのモデルを持っています表示:
<%= f.input :employees, :as => :select %>
はこれまでのところ、これは仕事を取得しますが、私はしたいのですがそれ自体でありますそれぞれの従業員の名前を選択し、プロジェクト内での役割を選択します。私は...そこに私を得るために、フォームのコードを把握することはできません
EDIT:示唆したように
が、私はRailscast 197: Nested Model Forms作業からコードを得ているし、それが途中です。これは私がビューに持っているものです。
<%= f.semantic_fields_for :employees do |builder| %>
<%= render 'employee_fields', :f => builder %>
<% end %>
<%= link_to_add_fields "add employee", f, :employees %>
と「employee_fields」部分:
<p class="fields">
<%= f.input :name, :as => :select, :collection => Employee.find(:all) %>
<%= f.hidden_field :_destroy %>
<%= link_to_remove_fields "remove", f %>
</p>
しかし、今、これは新しい従業員ではなく、新しいチーム(プロジェクトの従業員のレコードを結合する)を作成しますだから私はhas_many :through
ではなくhas_many
として行動していると思う。上記の:name
入力がproject[employee_ids][]
にレコードを追加するようにこれを編集するにはどうすればよいですか?
railscasts.comのネストされたモデルフォームの番号196と197のエピソードはいくつかのアイデアを提供するかもしれません。それらは特にhas_many:throughにはありませんが、親オブジェクトに対して複数の子フィールドを持つことができます。 – nmott
私はちょうどそれらの最後の夜を見ました!私はその機能が働いていますが、私はまだhas_many:through部分に固執しています。 – ellawren