2012-02-23 4 views
1

동시에 게임과 game_players를 만드는 양식을 만들려고합니다. 내가 가지고있는 문제는 양식을 제출할 때 게임이 생성되지만 game_players가 생성되지 않는다는 것입니다.중첩 된 양식이 중첩 모델 레일을 저장하지 않음 3

둘러 보았지만 유용한 답변을 찾지 못했습니다. 게임 모델

class Game < ActiveRecord::Base 
    belongs_to :league 
    has_many :game_players, :dependent => :destroy 
    accepts_nested_attributes_for :game_players 

    attr_accessible :league_id, :game_date 

    validate :league_id, :presence => true 
end 

Game_Player 모델

class GamePlayer < ActiveRecord::Base 
    belongs_to :game 
    has_many :users 

    validate :game_id, :presence => true 
    validate :user_id, :presence => true 
end 

게임 제어기

class GamesController < ApplicationController 
    def new 
    @title = "New Game" 
    @game = Game.new 
    3.times { @game.game_players.build } 
    end 

    def create 
    @game = Game.new(:league_id => cookies[:league_id]) 
    if @game.save 
     flash[:success] = "Succesfully Created Game" 
     redirect_to League.find_by_id(cookies[:league_id]) 
    else 
     @title = "New Game" 
     render 'new' 
    end 
    end 

형태

<%= form_for @game do |f| %> 
    <%= f.fields_for :game_players do |builder| %> 
    <p> 
     <%= builder.label :user_id, "User" %><br /> 
     <%= builder.text_field :user_id %><br /> 
</p> 
    <% end %> 
    <p><%= f.submit "Submit" %></p> 
<% end %> 

답변

0

가능성이 가장 높습니다.을 attr_accessible으로 변경해야합니다. 대량 대용량 보안을 존중하기 때문에