ruby-on-rails-4 – 具有强对数的不允许参数,具有多对多关系
发布时间:2020-12-17 01:52:46 所属栏目:百科 来源:网络整理
导读:我有一个并且属于许多关系设置,如下所示: has_and_belongs_to_many :players,:class_name = "User" # In app/models/team.rbhas_and_belongs_to_many :teams # In app/models/user.rb 在创建用户之后,我正在使用表单来创建团队.这是我的团队控制器: def cr
我有一个并且属于许多关系设置,如下所示:
has_and_belongs_to_many :players,:class_name => "User" # In app/models/team.rb has_and_belongs_to_many :teams # In app/models/user.rb 在创建用户之后,我正在使用表单来创建团队.这是我的团队控制器: def create @team = Team.create(team_params) end private def team_params params.require(:team).permit(:name,:captain,:season,:year,:active,:player_ids) end 除了玩家(用户)之外,一切都会保存.以下是控制台上的输出: Started POST "/teams" for 127.0.0.1 at 2013-10-20 01:46:04 -0400 Processing by TeamsController#create as HTML Parameters: {"utf8"=>"?","authenticity_token"=>"jhNUgdfSVNxBgpZkmvjSQg/7DGsV1ts+Y1a1xWQ6A1Y=","team"=>{"name"=>"uuuuu","captain"=>"18","season"=>"Summer","year"=>"2013","player_ids"=>["","18"]},"button"=>""} User Load (1.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = 18 ORDER BY "users"."id" ASC LIMIT 1 Unpermitted parameters: player_ids (0.2ms) BEGIN SQL (3.4ms) INSERT INTO "teams" ("captain","created_at","name","season","updated_at","year") VALUES ($1,$2,$3,$4,$5,$6) RETURNING "id" [["captain",18],["created_at",Sun,20 Oct 2013 05:46:04 UTC +00:00],["name","uuuuu"],["season","Summer"],["updated_at",["year",2013]] (4.2ms) COMMIT Redirected to http://lvh.me:3000/admin Completed 302 Found in 23ms (ActiveRecord: 9.3ms) 知道为什么玩家不会保存?最初我在params.require中没有player_ids,但我添加它无济于事 解决方法
试试:
params.require(:team).permit(:name,player_ids: []) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |