加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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: [])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读