ruby-on-rails – 嵌入式表单更新上的ActiveSupport :: HashWith
我尝试更新嵌入的表单时收到ActiveSupport :: HashWithIndifferentAccess错误.
这是最简单的例子: 形成: <h1>PlayersToTeams#edit</h1> <%= form_for @players_to_teams do |field| %> <%= field.fields_for @players_to_teams.player do |f| %> <%= f.label :IsActive %> <%= f.text_field :IsActive %> <% end %> <%= field.label :BT %> <%= field.text_field :BT %> <br/> <%= field.submit "Save",class: 'btn btn-primary' %> <% end %> 楷模: class PlayersToTeam < ActiveRecord::Base belongs_to :player belongs_to :team accepts_nested_attributes_for :player end class Player < ActiveRecord::Base has_many :players_to_teams has_many :teams,through: :players_to_teams end 控制器: class PlayersToTeamsController < ApplicationController def edit @players_to_teams=PlayersToTeam.find(params[:id]) end def update @players_to_teams=PlayersToTeam.find(params[:id]) respond_to do |format| if @players_to_teams.update_attributes(params[:players_to_team]) format.html { redirect_to @players_to_teams,notice: 'Player_to_Team was successfully updated.' } format.json { head :no_content } else format.html { render action: "edit" } format.json { render json: @players_to_teams.errors,status: :unprocessable_entity } end end end end 这是表单提交时的params [:players_to_team]对象: ? ActiveSupport :: HashWithIndifferentAccess错误是什么意思?要让此表单更新players_to_team条目,我需要做些什么? 编辑 BT是players_to_teams中的一列.如果我删除了teh field_for块,我可以成功保存BT字段/ players_to_teams行. 谢谢 解决方法
归功于@Brandan.回答:
What is the difference between using “:” and “@” in fields_for
|