Я пытаюсь отправить форму с несколькими экземплярами класса Boxscore, и я продолжаю получать сообщение об ошибке «Нельзя назначать защищенные атрибуты: 0, 1»Невозможно назначить защищенные атрибуты:
Моя форма:
<%= form_for([@boxscore]) do |x| %>
<% 2.times do |i| %>
<%= fields_for 'boxscores', Boxscore.new, :index => i do |f| %>
<div class="field">
<%= f.label :game_id %><br />
<%= f.number_field :game_id %>
</div>
<div class="field">
<%= f.label :player_id, "Choose a player" %>
<%= f.select :player_id, Player.all.map{|t| [t.name, t.id]},
{ :include_blank => true } %>
</div>
<div class="field">
<%= f.label :points %><br />
<%= f.text_field :points %>
</div>
<div class="field">
<%= f.label :rebounds %><br />
<%= f.text_field :rebounds %>
</div>
<div class="field">
<%= f.label :assists %><br />
<%= f.text_field :assists %>
</div>
<div class="field">
<%= f.label :blocks %><br />
<%= f.text_field :blocks %>
</div>
<div class="field">
<%= f.label :steals %><br />
<%= f.text_field :steals %>
</div>
<div class="field">
<%= f.label :turnovers %><br />
<%= f.text_field :turnovers %>
</div>
<div class="field">
<%= f.label :fgattempted %><br />
<%= f.text_field :fgattempted %>
</div>
<div class="field">
<%= f.label :fgmade %><br />
<%= f.text_field :fgmade %>
</div>
<div class="field">
<%= f.label :threepointattempted %><br />
<%= f.text_field :threepointattempted %>
</div>
<div class="field">
<%= f.label :threepointmade %><br />
<%= f.text_field :threepointmade %>
</div>
<% end %>
<% end %>
<div class="actions">
<%= x.submit %>
</div>
<% end %>
Моя модель:
class Boxscore < ActiveRecord::Base
attr_accessible :boxscore_id, :assists, :blocks, :fgattempted, :fgmade, :game_id, :player_id, :points, :rebounds, :steals, :threepointattempted, :threepointmade, :turnovers
belongs_to :game
belongs_to :player
end
Мой контроллер:
def create
@boxscore = Boxscore.new(params[:boxscores])
respond_to do |format|
if @boxscore.save
format.html { redirect_to @boxscore, notice: 'Boxscore was successfully created.' }
format.json { render json: @boxscore, status: :created, location: @boxscore }
else
format.html { render action: "new" }
format.json { render json: @boxscore.errors, status: :unprocessable_entity }
end
end
end
Мой PARAMS хэш при создании boxscore:
{"utf8"=>"✓", "authenticity_token"=>"JJI3di/InpEp4S6HktQWgVfyvk296M7upgQIQRPzJp8=", "boxscores"=>{"0"=>{"game_id"=>"2", "player_id"=>"1", "points"=>"11", "rebounds"=>"22", "assists"=>"11", "blocks"=>"11", "steals"=>"111", "turnovers"=>"22", "fgattempted"=>"3", "fgmade"=>"2", "threepointattempted"=>"11", "threepointmade"=>"22"}, "1"=>{"game_id"=>"2", "player_id"=>"3", "points"=>"3", "rebounds"=>"4", "assists"=>"3", "blocks"=>"55", "steals"=>"4", "turnovers"=>"3", "fgattempted"=>"3", "fgmade"=>"3", "threepointattempted"=>"3", "threepointmade"=>"3"}}, "commit"=>"Create Boxscore", "action"=>"create", "controller"=>"boxscores"}
Можете ли вы обновить пост, чтобы показать копию 'params' хэш, как это представляется с почтой? –
Привет, Кевин. Я просто обновил сообщение с помощью bosxscore create params hash. Спасибо за помощь. – BC00