2012-04-21 9 views
1

を提出していない:反対が選ん:会場と:その後、チームとは、私はオフにチェックすることができる午前選手の一覧が表示され私はフォームが設​​定してしまっているFormtastic /レールの形は私が入ることができるフォームを作るためにformtasticを使用しようとしています

のためにそれらを選択するので、提出するとき、それはすべての情報を保存し、単にページを再読み込みしていませんが、正しくレンダリングされます。

私のコードはここに私のgithubのである:https://github.com/jpknegtel/st_francis

モデル

これは、次のモデルに関する:

プレーヤー

has_many :player_fixtures 
has_many :fixtures, :through => :player_fixtures 

備品

を210
has_many :player_fixtures 
has_many :players, :through => :player_fixtures 

PlayerFixture

belongs_to :player 
belongs_to :fixture 

コントローラ

def create 
@fixture = Fixture.new(params[:fixture]) 
if @fixture.save 
    flash[:notice] = "Fixture Created" 
    redirect_to(:action =>'list') 
else 
    flash.now[:error] = "Could not save fixture. Please re-enter information" 
    render('new') 
end 
end 

def new 
@fixture = Fixture.new 
end 

フォームが、今は何も渡されない提出されたので、フォーム

<%= semantic_form_for :fixture do |f| %> 
<%= f.inputs do %> 
    <%= f.input :opposition %> 
    <%= f.input :team, :as => :select, :collection => Team.all %> 
    <%= f.input :venue, :as => :check_boxes, :collection => Hash[Venue.all.map{|b| [b.name, b.id]}]%> 
    <%= f.input :players, :as => :check_boxes, :collection => Hash[Player.all.map{|b| [b.full_name, b.id]}], :required => true %> 
<% end %> 
<%= f.actions do %> 
<%= f.action :submit, :as => :button %> 
<%= f.action :cancel, :as => :link %> 
<% end %> 
<% end %> 

。ウェブレンガサーバーを見ると、何も送信されませんが、ページがリロードされます。

rails consoleを使用してレコードを挿入することは可能です。

編集:これは送信時に表示されます。

Started POST "/fixtures/new" for 127.0.0.1 at 2012-04-23 15:00:21 +0100 
Processing by FixturesController#new as HTML 
Parameters: {"utf8"=>"✓",  "authenticity_token"=>"Hx4TChWiUdhpZbAfgWUYMWBKao86pZh0tGzwVKy+P80=", "fixture"=> {"opposition"=>"Mid sussex", "team"=>"1", "venue"=>["", "1"], "players"=>["", "1", "3"]}, "button"=>""} 
Team Load (1.0ms) SELECT `teams`.* FROM `teams` 
Venue Load (1.0ms) SELECT `venues`.* FROM `venues` 
Player Load (1.0ms) SELECT `players`.* FROM `players` 
Rendered fixtures/new.html.erb within layouts/application (173.0ms) 
Completed 200 OK in 200ms (Views: 163.0ms | ActiveRecord: 36.0ms) 
[2012-04-23 15:00:21] WARN Could not determine content-length of response body. Set  content-length of the response or set Response#chunked = true 
+0

そのレポには「semantic_form_for」はありません。あなたは最新のことをすべてコミットしましたか? –

+0

私はコミットを押しただけです。それは今そこにあるはずです、残念です。 – JPKnegte

+0

コントローラの 'new'アクションのコードを投稿できますか?そこに '@ fixture'を割り当てていますか? – Brandan

答えて

2

私の推測はmassassignmentです。あなたは、大量割り当てによっていくつかの属性を更新するようにレールを許可する必要があります。

は、あなたの備品モデルに次の行を追加します。

attr_accessible :players_attributes, :opposition, :team_id, :venue_id, :date 

これはレールがnewupdate_attributes方法を介してこれらの属性を設定することができます。

詳細については、rails guide on securityを参照してください。

+0

私は以下を追加しました。何も別のことをするように見えることはできません。それでも即座にリロードします。しかし、これを今見たことがあります:上記の編集を参照してください – JPKnegte

+0

さらにログを投稿できますか?私は、フォームのリクエストのログ出力を見て、フォームを送信するときに出力を見たいと思います。 – klump

+0

がもう少し追加されました。私は正直であるために多くの使用の他を見ることができない? – JPKnegte

関連する問題