2012-03-27 9 views
1

フォームを使用して選手グループをプレイヤーに割り当てようとしています。HABTMフォームは複数の値をレールに提出しません

私はプレイヤーテーブルのすべての選手をチェックボックスで一覧表示しようとしています。そのため、ユーザーは自分が選手になるプレイヤーを選ぶことができます。

モデル 私は選手や備品の関連付けとして:throughを使用する必要が備品や選手

class Fixture < ActiveRecord::Base 
belongs_to :team 
has_many :player_fixtures 
has_many :players, :through => :player_fixtures 
has_one :venue 

class Player < ActiveRecord::Base 
has_and_belongs_to_many :teams 
has_many :player_fixtures 
has_many :fixtures, :through => :player_fixtures 

class PlayerFixture < ActiveRecord::Base 
belongs_to :player 
belongs_to :fixture 

でconcedered 3つのモデルがあります。私はその人が支払ったかどうかブール値が必要です。

これらの作業の関連付けでは、コンソールを使用して参加テーブルのフィクスチャにプレイヤーを割り当てることができます。私が持っている私の見解で

ビュー

<%= form_for(:fixture, :url => {:action =>'create'}) do |f| %> 

これは私が現時点で動作するように取得しようとされているコードです!

<%= f.collection_select(:player, :player_id, @players,:id, :name, { :include_blank => true ,:multiple => true}) %> 

EDIT

私は今、以下のコメントを挿入してもコレクションはに選択変更されました:私は、フォームをロードしようとしている上、次のエラーを取得します現時点で

<%= f.collection_select(:player_ids, Player.all,:id, :name, {:include_blank => true ,:multiple => true}) %> 

undefined method `merge' for :name:Symbol 

この行

28:  <td><%= f.collection_select(:fixture, :player_id, Player.all,:id, :name, { :include_blank => true ,:multiple => true}) %> 

これはおそらくひどく間違っていますが、これは私のプロジェクトの大きな部分であるため、実際にはこの作業を行う必要があります。

誰かが正しい方向に向いていますか?誰かがformtasticルートに沿って送信したい場合、私はその仕事を得ることができないので、自由に感じる。

答えて

0

あなたが代わりにシンボルののform_forにオブジェクトを渡す必要があります。あなたのような

ルックが定義されていなかったにhas_many:中player_fixtures

<%=form_for(:fixture, :url => {:action =>'create'}) do |f| %> 

<%= form_for(@fixture, :url => {:action =>'create'}) do |f| %> 

を更新する必要があります治具モデル、has_many:必要なものを先に渡します。

class Fixture < ActiveRecord::Base 
belongs_to :team 
has_many :player_fixtures 
has_many :players, :through => :player_fixtures 
has_one :venue 
+0

私はこれを行っていますが、まだいくつかのエラーがあります。 *編集を参照してください* – JPKnegte

+0

更新された回答を参照 –

+0

これを完了しかし、まだ別のエラーがあります!ご協力いただきありがとうございます – JPKnegte

関連する問題